hibernate级联插入数据报错

实体类 Customer.java

img

实体类 Order.java

img

映射文件Customer.hbm.xml

img


映射文件Order.hbm.xml

img


hibernate配置文件hibernate.cfg.xml

img


测试类 Test2.java

img


hibernate 数据库结构

img


运行Test2.java报错

img

Order.hbm.xml 的table修改为"t_order",错误原因是order你用的表名,是个sql关键字

    这两天刚开始学习hibernate,今天写到这个级联操作的时候,主表 customer 插入数据是可以的,但是从表 order 一直报错,检查了配置文件、映射文件、数据库字段都没错,真不知道哪错了...

在navicate 这种工具里面执行这条数据有报错吗?, 参考下这个:https://blog.csdn.net/weixin_44532671/article/details/121011019

应该是你的sql语句有问题,可以打印出来看一下

检查sql语句,sql语句没错就是级联关系更新错误,查一下参照这个设置(http://t.zoukankan.com/deepSleeping-p-9978296.html) cascade属性

Caused by:java.sql.SQLSyntaxErrorException:you have an error in your SQL syntax ;
check the manual that corresponds to your MYSQL server version for the right syntax to use near ' order(name,cid ) values (“订单1”, 38)' at line 1
报错含义:
原因:java.sql。SQLSynctaxErrorException:您的SQL语法有错误;
查看与MYSQL服务器版本相对应的手册,以获得正确的语法,以使用“order(name,cid)value(”订单1”,38)'在第1行

分析:数据库字段不匹配,语法错误 等引起的错误。主要查看数据库中字段存在的关键字

提供类似参考实例:https://blog.csdn.net/u010898329/article/details/89217265?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-89217265-blog-107039161.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-89217265-blog-107039161.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=13