我有一个关于电影和 Actor 的数据库。我想做的是: 我想从相应的 arrayList 中获取 Actor 数据(如姓名、国家/地区、出生日期)并将该数据插入我的类型转换中。我想对我的电影 table 做同样的事情。这是我的代码的一部分:
然后我收到这些错误:
线程“main”中出现异常 javax.persistence.RollbackException:提交事务时出错
-引起:javax.persistence.PersistenceException:org.hibernate.exception.SQLGrammarException:无法执行语句
-引起:org.hibernate.exception.SQLGrammarException:无法执行语句
-引起:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表“电影和电视剧.actor_country”不存在
我不明白的是为什么 hibernate 会尝试将数据插入到不存在的表中。我不需要 actor_country 表。有人可以帮我吗?
我创建了一个无参构造函数并使用一些数据初始化 arrayList。
最佳答案
不幸的是,根据您当前的设计,您陷入了 actor_country
的困境。 table 。将属性定义为 @ElementCollection
类型 List
将创建一个子表。 您还如何在关系数据库中存储多个国家/地区?您可以使用 @CollectionTable
来控制表的名称。与 @ElementCollection
结合使用.
如果您不想存储多个国家,可以将其切换为 @Basic
类型为 String
.
关于java - Hibernate 尝试向不存在的表插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53561011/