数码资讯
Hibernate报错:On release of batch it still contained JDBC statements
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
错误现象:Project和User使用注解多对一单向关联(@ManyToOne)
// Project 类 @ManyToOne @JoinColumn(name = "user_id", nullable = false) private User user;
先new一个Project对象,并从数据库中取出User对象放入Project对象
此时使用session.save(project)报错:On release of batch it still contained JDBC statements
错误分析:由于user对象是从数据库中取出,还缓存在session中,此时save(project)就报错
解决办法:配置Cascade注解就可以了
@ManyToOne @Cascade(value = CascadeType.SAVE_UPDATE) // 增加该注解即可 @JoinColumn(name = "user_id", nullable = false) private User user;
解决办法二:用
session.merge()方法代替session.save()即可
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。