2012-02-27 2 views
0

Я новичок в Hibernate и SEAM и изо всех сил пытаюсь включить фильтр для мягкого удаления в выбранной коллекции, я настроил фильтр в порядке, однако я не могу вызвать вызов enableFilter() в соответствии с документацией here, я пробовал следующий код в бэк-файле, а также в DAO, который содержит запрос, но оба раза я получаю исключение Null Pointer Exception, в приведенном ниже примере показано, что я пытался сделать в бэк ...Включить фильтр спящего режима в фоновом режиме (SEAM)

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); 
    } 

Может кто-нибудь указать, где я иду не так?

ответ

1

Если это полный образец кода, я бы сказал, что session имеет значение null. У вас есть private Session session, но он никогда не получает значения. Если у вас есть он настроен в качестве стыковой управляемого Hiberate сессии, вы можете сделать это:

@In 
private Session session; 

http://docs.jboss.org/seam/2.2.0.GA/reference/en-US/html/persistence.html#d0e7410 см для более подробной информации.

+0

Да, вы правы, спасибо – DaveB