我正在一个Java Web项目中使用Hibernate实体管理器实现JPA持久化。我在persistence.xml文件中设置了以下属性:
当我在persistence.xml文件中使用以下属性时,该表将在用户2的模式中创建。
我的问题是,为什么当应用程序使用user2数据库凭据时,Hibernate在另一个模式即user1中搜索?我不想每次启动服务器时都创建模式,那么如何避免使用值“create”。
感谢您的提前帮助。
<property name="hibernate.hbm2ddl.auto" value="update"/>
每个用户都有一个模式。例如,我有一个用户1的模式和一个用户2的模式。如果表"ABC"存在于用户1的模式中,但不存在于用户2的模式中,并且我部署应用程序并使用用户2的数据库凭据,则会出现消息"user1.ABC"表已找到,因此"ABC"表不会在用户2的模式中创建。当我在persistence.xml文件中使用以下属性时,该表将在用户2的模式中创建。
<property name="hibernate.hbm2ddl.auto" value="create"/>
我的问题是,为什么当应用程序使用user2数据库凭据时,Hibernate在另一个模式即user1中搜索?我不想每次启动服务器时都创建模式,那么如何避免使用值“create”。
编辑:以下是我的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>
感谢您的提前帮助。
org.axonframework.saga.repository.jpa.SagaEntry
吗?可能你正在那里定义模式,所以无论选择哪个数据库凭据,它都是默认的。 - AntJavaDev