java - Hibernate 尝试向不存在的表插入数据

标签 java mysql database hibernate jdbc

我有一个关于电影和 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/

相关文章:

mysql - 选择两个表的差异

mysql:处理用户和团队之间关系的正确方法?

database - 物联网云 : How to send data from MCU based hardware onto IAAS/SAAS cloud services?

java - 使用 Otto 将数据从 Activity 传递到 Activity 不起作用

MYSQL - 计算一个人在比赛中获得第二名的次数

mysql - mysql查询中find_in_set中的逗号分隔字符串是否有限制

sql - 如何在 Oracle 中查找表中的错误引用

java - BATTERY_PROPERTY_CURRENT_NOW 不适用于所有设备。什么是替代品?

java - 创建 session bean 而不添加远程或本地注释

java - 如何测试另一个包中父类(super class)的 protected 继承方法