我是Seam的新手,我需要在下面的代码中澄清一些,我需要知道它是如何工作的,在这个代码中使用的限制是什么......
package org.domain.pixel.action;
import org.domain.pixel.entity.*;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.framework.EntityQuery;
import java.util.Arrays;
@Name("projectList")
public class ProjectList extends EntityQuery<Project> {
private static final long serialVersionUID = -7673337640345325071L;
private static final String EJBQL = "select project from Project project";
private static final String[] RESTRICTIONS = {
"lower(project.processOwner) like lower(concat(#{projectList.project.processOwner},'%'))",
"lower(project.projectName) like lower(concat(#{projectList.project.projectName},'%'))",
};
private Project project = new Project();
public ProjectList() {
;
setEjbql(EJBQL);
setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
setMaxResults(25);
}
public Project getProject() {
return project;
}
}发布于 2010-08-05 23:20:53
您发布的代码是Seam中的标准方法,用于为基于列表的视图创建支持bean (或"action")。ProjectList基于JPA查询(称为"EJBQL")创建一个结果集,约束是一种为该查询动态创建WHERE子句的方法,例如,基于用户输入。
用户输入很可能放在名为"project“的实例变量中。限制(总共2个)仅选择processOwner和projectName等于"project“中设置的processOwner和projectName (基于不区分大小写的比较)的记录(来自与项目实体类对应的表)。
https://stackoverflow.com/questions/3108147
复制相似问题