1
我必須處理一個需要提供DataSource作爲參數的API。問題是我正在從提供EntityManager或PersistentContext的上下文訪問它,它似乎沒有通過它的方法公開任何DataSource。 如何以可編程方式從EntityManager中檢索基礎數據源?從javax.persistence.EntityManager獲取javax.sql.DataSource
我必須處理一個需要提供DataSource作爲參數的API。問題是我正在從提供EntityManager或PersistentContext的上下文訪問它,它似乎沒有通過它的方法公開任何DataSource。 如何以可編程方式從EntityManager中檢索基礎數據源?從javax.persistence.EntityManager獲取javax.sql.DataSource
溶液注入數據源是這樣的:
@Resource(name = "jdbc/...")
private DataSource dataSource;
,然後提供所述數據源作爲參數的API。
但只能在容器內。如何在CLI應用程序中檢索它? (是的,你可以在CLI應用程序中使用jee) – 2014-04-30 12:20:38
你使用了哪個jpa實現?你是如何獲得EM的?例如。通過像Spring這樣的框架? – Kent 2012-03-16 15:19:01
我使用Hibernate作爲JPA實現。我沒有使用Spring,並通過使用@EntityManager註解屬性來獲得我的EM。在我的情況下,使用Spring IOC不是一種選擇。 – 1tox 2012-03-16 15:25:51
您可以嘗試通過@Resource註釋來注入DataSource,或者可以通過JNDI查找來獲取它。 – 2012-03-18 12:21:51