2013-05-16 29 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

谢谢你的回答。我怎样才能将所有类加入到一个?我找不到一个例子。 –

相关问题