【发布时间】:2019-06-26 18:09:43
【问题描述】:
我有一个名为com.test.Student 的bean 实体,它使用xml 映射到考勤数据库中名为“student”的表。考勤数据库中的“学生”表尚不存在。
即使属性hibernate.hbm2dll.auto 设置为“更新”,Hibernate 也不会在应用程序启动时在考勤数据库上创建“学生”表。它也不会产生任何异常、警告或查询。它根本不做任何事情。
经过一些测试,我意识到学生表已经存在于其他名为“sms”的数据库中。如果我将com.test.Student @Entity 映射到另一个表名(在任何数据库中都不存在),Hibernate 将使用此配置创建它。
为什么 Hibernate 不在映射数据库上创建“学生”表?另一个数据库中是否存在同名的另一个表以某种方式干扰?
一些信息:
- 休眠版本:4.3.9
- 春季版:4.3.9
- MySQL 作为数据库
- Java 8
- Netbeans 作为IDE
【问题讨论】:
-
设置 - spring.jpa.hibernate.ddl-auto 为“create-drop”
-
你能发布休眠异常,还是它什么都不做?
-
查找
student表的大写版本,使用SHOW TABLES查询。 -
@Ajay_Kumar 如果我将 spring.jpa.hibernate.ddl-auto 设置为“create-drop”,那么一旦我关闭我不想要的应用程序,我的数据就会丢失
-
@GabrielPimenta 它没有显示任何异常,是的,它什么也不做
标签: java spring hibernate spring-data-jpa hibernate-mapping