如果有人能向我展示如何使用setRestrictions方法( whitch属于org.jboss.seam.framework.EntityQuery包中的EntityQuery对象),那就太好了。
我试过这样做:
...
import org.jboss.seam.framework.EntityQuery;
import org.jboss.seam.core.Expressions.ValueExpression;
public class LetterList extends EntityQuery<Letter>
{
public LetterList()
{
setEjbql("select letter from Letter letter");
}
public void sampleMethod(){
List<ValueExpression> restrictions = new ArrayList<ValueExpression>();
restrictions.add(createValueExpression("letter.id=7"));
setRestrictions(restrictions);
}
}但是,这段代码会引发异常。
以下几行也会导致错误:
String[] RESTRICTIONS = {"letter.id=7"};
setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));如果可以在使用setEjbql时以很好的方式传递任何参数,这也是很有趣的。我的意思是是否有可能避免串连。
我确实试图找到一些相关代码的例子,但没有成功。因此,我将非常感谢几行代码的工作。
发布于 2010-01-21 21:19:22
尝试以下示例:
@Name("letterList") // (1)
public class LetterList extends EntityQuery<Letter> {
private Long letterId;
public LetterList() {
setEjbql("select letter from Letter letter");
setRestrictionExpressionStrings(Arrays.asList(new String[] {
"letter.id = #{letterList.letterId}" // (2)
}));
}
public Long getLetterId() { // (3)
return letterId;
}
public void setLetterId(Long letterId) {
this.letterId = letterId;
}
}请注意以下三个评论位置:
component.
https://stackoverflow.com/questions/1884911
复制相似问题