当前位置: 首页 > 知识库问答 >
问题:

相同JPA持久化中的不同对象模型。xml

姬安志
2023-03-14

我使用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的数据库。工厂元模型。实体将包含所有4个类:

  • my.package.items1.Class1_1
  • my.package.items1.Class1_2
  • my.package.items2.Class2_1
  • my.package.items2.Class2_2

模型中的另外两个表从单元1添加到数据库中。

如何解释JPA,unit_1数据库与unit_2没有任何共同之处,我不需要它的映射?

共有1个答案

舒仲渊
2023-03-14

只需在两个“persistence-unit”中的“class”标记后添加以下参数

<exclude-unlisted-classes>true</exclude-unlisted-classes>
 类似资料:
  • 我有一个简单的JPA存储库,看起来如下所示: 和两个有一个单子映射的类,如下所示: . 现在,我知道我可以很容易地编辑和持久化一个像这样的用户实例: 但是,在没有指向实例的指针的上下文中,如何持久化实例,f.I.: 我可以只调用吗? 我是否需要自动连接另一个存储库()并在其上调用.save()?

  • 谢谢 ----更新----

  • 校验者: @why2lyj(Snow Wang) @小瑶 翻译者: @那伊抹微笑 在训练完 scikit-learn 模型之后,最好有一种方法来将模型持久化以备将来使用,而无需重新训练。 以下部分为您提供了有关如何使用 pickle 来持久化模型的示例。 在使用 pickle 序列化时,我们还将回顾一些安全性和可维护性方面的问题。 3.4.1. 持久化示例 可以通过使用 Python 的内置持久化

  • 问题内容: 我试图在spring启动时将JSON对象存储在MySQL数据库中。我知道我做错了事,但是我无法弄清楚到底是什么原因,因为我对Spring还很陌生。 我有一个休息端点,在这里我通过HTTP PUT获取以下JSON对象,并且需要将其存储在数据库中,以便用户以后可以通过HTTP GET获取它。 请注意,在上述情况下,对象 中* 键 的 数量 可能会有所不同,由于该要求,我正在使用a 来捕获控

  • 我正在@Async和@Transactional方法中的@Service类中执行一些持久化操作。 在这种方法中,我们持久化一些对象,然后在同一事务中持久化与这些已持久化对象相关的新对象。 JPA抛出一个异常,因为他认为这个相关对象没有被持久化: 这是我的服务类结构: 我想是与事务和异步方法有关,因为相同的代码在没有Async注释时工作。 我还尝试在Transactional注释中使用传播,但不起作

  • 英文原文:http://emberjs.com/guides/models/persisting-records/ Ember Data中的记录都基于实例来进行持久化。调用DS.Model实例的save()会触发一个网络请求,来进行记录的持久化。 下面是几个示例: 1 2 3 4 5 6 var post = store.createRecord('post', { title: 'Rail