我是 Hibernate 和 SEAM 的新手,正在努力为获取的集合上的软删除启用过滤器,我已经设置了过滤器,但是我似乎无法按照文档 here 调用 enableFilter() 调用,我在支持 bean 以及包含查询的 DAO 中尝试了以下代码,但两次都得到空指针异常,下面的示例显示了我在支持 bean 中尝试执行的操作...
import org.hibernate.Session;
@Stateful
@Name("competitionActions")
@Restrict("#{identity.isLoggedIn()}")
public class CompetitonActionsBean implements CompettionActions, Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private Session session;
@Override
@Create
@Begin(join=true)
public void create(){
session.enableFilter("deletedFilter");
comps = competitionDAO.findCompetitionsForUser(user);
}
谁能指出我哪里出错了?
最佳答案
如果这是一个完整的代码示例,我会说 session
为空。您定义了私有(private) session
,但从未给它赋值。如果您将其配置为 Seam 管理的 Hiberate session ,您可以执行以下操作:
@In
private Session session;
参见http://docs.jboss.org/seam/2.2.0.GA/reference/en-US/html/persistence.html#d0e7410了解更多详情。
关于java - 在支持 bean (SEAM) 中启用 hibernate 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9462778/