我使用JPA处理其中包含不同对象模型的几个数据库。
的persistence.xml
<persistence-unit name="unit_1" transaction-type="RESOURCE_LOCAL">
<description>pu-pu-pi-du</description>
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>my.package.items1.Class1_1</class>
<class>my.package.items1.Class1_2</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<!-- uncomment to show sql queries in System.out -->
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.format_sql" value="true"/>
<!-- Envers -->
</properties>
</persistence-unit>
<persistence-unit name="unit_2" transaction-type="RESOURCE_LOCAL">
<description>Persistance config</description>
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>my.package.items2.Class2_1</class>
<class>my.package.items2.Class2_2</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<!-- uncomment to show sql queries in System.out -->
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.format_sql" value="true"/>
<!-- Envers -->
</properties>
</persistence-unit>
当我以这种方式创建工厂时:
EntityManagerFactory factory = Persistence.createEntityManagerFactory("unit_1", properties);
它运行良好,但使用unit_2中的所有类更新unit_1的数据存储。 factory.metamodel.entities将包含所有4个类:
来自unit_1的另外两个表将从unit_1添加到数据库中。
如何解释JPA,unit_1的数据库与unit_2没什么共同之处,我不需要它的映射?
答案 0 :(得分:0)
在&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39; &#39;&#39; persistence-unit&#39;&#39;
中的标签<exclude-unlisted-classes>true</exclude-unlisted-classes>