gpt4 book ai didi

java - hibernate 默认模式不工作

转载 作者:行者123 更新时间:2023-11-30 07:07:32 25 4
gpt4 key购买 nike

我正在尝试在我的 Hibernate 映射中设置默认架构,如下所示:

<persistence-unit name="store">

<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jar-file>store-data-0.0.4-SNAPSHOT.jar</jar-file>

<properties>
<property
name="hibernate.show_sql"
value="true" />
<property
name="hibernate.format_sql"
value="true" />
<property
name="hibernate.default_schema"
value="Store"></property>
<property
name="hibernate.archive.autodetection"
value="class" />
</properties>
</persistence-unit>

但是,当我运行一个简单的测试查询时:

@PersistenceContext
private EntityManager manager;

@Transactional
public List<Person> listPeople() {
return manager.createQuery("SELECT p FROM Person p", Person.class).getResultList();
}

我明白了:

对象名称“人”无效。

当我运行原生查询时:

manager.createNativeQuery("SELECT * FROM Store.Person", Person.class).getResultList();

一切正常。

我正在使用 Spring 运行一个 SE 应用程序。我以前在 Web 应用程序中使用过 hibernate.default_schema,它工作得很好。

这就是我声明实体映射的方式:

<bean
id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property
name="dataSource"
ref="mysqlDataSource" />
<property
name="packagesToScan"
value="com.base.package" /> <!-- base package for all my entities -->
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
</bean>

有什么想法吗?

最佳答案

我可以通过直接在我的 Spring 上下文文件中设置默认模式来解决这个问题:

<bean
id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property
name="dataSource"
ref="mysqlDataSource" />
<property
name="packagesToScan"
value="com.base.package" /> <!-- base package for all my entities -->
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.default_schema">Store</prop>
</props>
</property>
</bean>

关于java - hibernate 默认模式不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24846636/

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