gpt4 book ai didi

java - Hibernate 实体管理器在不同模式中查找表

转载 作者:行者123 更新时间:2023-12-02 09:14:05 25 4
gpt4 key购买 nike

我正在 java web 项目中使用 hiberante-entity manager 实现 jpa 持久性。我在 persistence.xml 中设置了以下属性。

<property name="hibernate.hbm2ddl.auto" value="update"/>

我有每个用户的架构。例如,我有一个用于 user1 的模式和一个用于 user2 的模式。如果表“ABC”存在于 user1 模式中,但不存在于 user2 模式中,并且我部署应用程序并且它使用 user2 数据库凭据,我会收到消息“user1.ABC”表已找到,因此不会在 user2 中创建“ABC”表架构。

当我尝试在 persistence.xml 文件中使用以下属性时,表是在 user2 架构中创建的。

 <property name="hibernate.hbm2ddl.auto" value="create"/>   

我的问题是如果应用程序使用 user2 数据库凭据,为什么 hibernate 会在另一个模式(即 user1)中搜索?和我不想在每次服务器启动时创建架构,那么如何避免使用“创造”值(value)。

编辑:下面是我的 persistence.xml 文件

    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
<persistence-unit name="XXXXXX" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>

<class>org.axonframework.saga.repository.jpa.SagaEntry</class>
<class>org.axonframework.saga.repository.jpa.AssociationValueEntry</class>

<properties>
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
</persistence>

提前致谢

最佳答案

我也面临着同样的问题,经过一番挖掘,发现该错误与Mysql Connector有关。将 MySql Connector 6.0.5 更改为 5.1.28 后,它对我来说工作得很好。我希望它可以帮助你。干杯

关于java - Hibernate 实体管理器在不同模式中查找表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20070076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com