2013-05-16 34 views
1

這是正確的用法嗎?如何在persisence.xml中添加多個持久性單元?

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> 
    <persistence-unit name="UserBean"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <class>com.tugay.registiration.UserBean</class> 
     <properties> 
      <property name="javax.persistence.jdbc.driver" 
         value="com.mysql.jdbc.Driver"/> 
      <property name="javax.persistence.jdbc.url" 
         value="jdbc:mysql://localhost:3306/sampleapplication"/> 
      <property name="javax.persistence.jdbc.user" value="root"/> 
      <property name="javax.persistence.jdbc.password" value="****"/> 
     </properties> 
    </persistence-unit> 

    <persistence-unit name="CustomerBean"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <class>com.tugay.registiration.CustomerBean</class> 
     <properties> 
      <property name="javax.persistence.jdbc.driver" 
         value="com.mysql.jdbc.Driver"/> 
      <property name="javax.persistence.jdbc.url" 
         value="jdbc:mysql://localhost:3306/sampleapplication"/> 
      <property name="javax.persistence.jdbc.user" value="root"/> 
      <property name="javax.persistence.jdbc.password" value="****"/> 
     </properties> 
    </persistence-unit> 

</persistence> 

回答

0

無論如何,因爲您正在寫入相同的數據庫,爲什麼打擾,而不是簡單地添加所有類在一個?

但如果這是你所需要的。如果您希望在同一文件中使用兩個單元,請在類標記後面添加<exclude-unlisted-classes>true</exclude-unlisted-classes>以排除不屬於此持久單元的那些單元。否則持久性A可能會插入持久性B的實例。

在我看來,您最好有兩個獨立的persistence.xml。在不同的文件夾或不同的名稱。

請記住,您將需要兩個單獨的EntityManagerscontexts

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> 
    <persistence-unit name="UserBean"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <class>com.tugay.registiration.UserBean</class> 
     <class>com.tugay.registiration.CustomerBean</class> 
     <properties> 
      <property name="javax.persistence.jdbc.driver" 
        value="com.mysql.jdbc.Driver"/> 
      <property name="javax.persistence.jdbc.url" 
        value="jdbc:mysql://localhost:3306/sampleapplication"/> 
      <property name="javax.persistence.jdbc.user" value="root"/> 
      <property name="javax.persistence.jdbc.password" value="****"/> 
     </properties> 
    </persistence-unit> 
</persistence> 
+0

謝謝你的回答。我怎樣才能將所有類加入到一個?我找不到一個例子。 –

相關問題