我是Hibernate和SEAM的新手,正在努力为获取的集合上的软删除启用过滤器,我已经将过滤器设置为ok,但是我似乎无法按照文档here调用enableFilter()调用,我已经在支持bean以及包含查询的DAO中尝试了以下代码,但是两次都出现了Null Pointer Exception,下面的示例显示了我试图在支持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 session,但是从未给它赋值。如果已将其配置为Seam托管的休眠会话,则可以执行以下操作:

@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/

10-09 19:47