2014-09-18 104 views
0

我在persistence.xml中有以下行。有人可以解釋如何這告訴休眠如何連接到相關的數據源?需要說明「jta-data-source」

假設我運行了一個本地mysql服務器,是否將此源定義爲「something:localhost:something」?我將如何適應這條線來添加數據源呢?

<jta-data-source>java:jboss/datasources/test</jta-data-source> 

回答

0

Java EE應用程序服務器(如JBoss,WebLogic,WebSphere等)通過JTA提供事務支持。他們還允許定義註冊在JTA事務中的數據源。使用JNDI api將這些數據源提供給應用程序服務器中部署的應用程序:數據源具有JNDI名稱,應用程序使用JNDI檢索以該名稱註冊的數據源。這個JNDI名稱就是上面jta-data-source元素的內容。

因此,使用此配置意味着JPA將使用此JNDI名稱來獲取應用程序服務器中配置的數據源。

+0

對,所以jta只在web服務器上運行程序時有用。如果我在沒有應用程序服務器的情況下運行一個類,比如在執行單元測試時,我需要做些什麼來獲得持久性提供程序以便與EntityManagerFactory一起使用?我們假設我會連接到一個已經存在的sql服務器。 – DiePartei 2014-09-18 18:22:26

+0

下面是一個例子和解釋,我通過googling找到... persistence.xml:http://www.objectdb.com/java/jpa/entity/persistence-unit。這裏是另一個解釋和我通過搜索「hibernate persistence.xml」發現的另一個解釋:http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/configuration.html – 2014-09-18 19:47:29