我是靠谱客的博主 端庄黑裤,最近开发中收集的这篇文章主要介绍SpringData JPA ID查询再插入异常SpringData JPA ID查询再插入异常,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
SpringData JPA ID查询再插入异常
1.问题描述:
springData JPA(hibernate)在通过ID查询数据后修改数据与ID再重新插入一条至数据库时异常,提示ID已更换。
2.解决方案:
通过entityManager获取hibernate的Session。然后清理JPA缓存,上方esignTemplate通过ID查询出结果后直接修改该对象ID会报ID改变异常(JPA通过ID判别是否为更新或保存,直接修改ID不允许)。查询缓存在hibernate->Session,即清理该对象后即可继续完成数据库写入新数据的操作
3.具体实现:
-
类中注入对象
@PersistenceContext
Private EntityManager entityManager; -
通过entityManager获取session并调用evict方法清除缓存
Sessionsession=entityManager.unwrap(Session.class);
session.evict(esignTemplate);
最后
以上就是端庄黑裤为你收集整理的SpringData JPA ID查询再插入异常SpringData JPA ID查询再插入异常的全部内容,希望文章能够帮你解决SpringData JPA ID查询再插入异常SpringData JPA ID查询再插入异常所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复