最近做项目使用了hibernate,由于对这个框架不是很熟悉,遇到了很多坑。
问题描述:
执行save方法时,不报错,中间表的内容没有被保存到数据库中。
可能原因:
1.实体类没有赋值
debug模式查看,传值没有问题,排除这种原因。
2.没有配置事务或事务没有提交
在代码内手动抛出异常,数据回滚,排除。
苦思冥想找不到错误的原因,几天未果。突然想到要保存的表是一张中间表,关联的表是配置了多对多关系映射(对hibernate的多对多映射使用一直不是很熟练),是不是这种原因呢?
手动删掉多对多映射后,保存成功!
问题根因:多对多映射
查查资料再来记录bug根因。