错误现象:Project和User使用注解多对一单向关联(@ManyToOne)
// Project 类
@ManyToOne
@JoinColumn(name = "user_id", nullable = false)
private User user;
1
2
3
4
先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;
1
2
3
4
解决办法二:用session.merge() 方法代替session.save() 即可
---------------------
作者:coder_小康
来源:CSDN
原文:https://blog.csdn.net/qq12547345/article/details/56277426
版权声明:本文为博主原创文章,转载请附上博文链接!