2011-09-18 18 views
0

我使用 @JndiInject(jndiName = 「XXX」)的類型 org.hibernate.SessionFactory實例的名爲 「SessionFactory的」 一個私人領域 - 這個偉大的工程!JBoss的工廠注入和methodcall

如何注入混凝土 org.hibernate.Session(長壽命)?

@JndiInject(jndiName="xxx") 
private SessionFactory sessionFactory; 

private Session hibernateSession session = sessionFactory.openSession(); 

將創建一個NPE。

回答

1

你可以嘗試@PostConstruct註釋執行任何種類的邏輯畢竟依賴注入:

@PostConstruct 
private void initSession() { 
    session = sessionFactory.openSession(); 
} 
+0

最後我使用PersistenceContext代替JndiInject –