防止JPA在set数据时自动更新数据库

方法一:JDK1.8

@PersistenceContext
private EntityManager entityManager;

//……

//JPA项目防止更新数据库,新建entityManager和session
HibernateEntityManager hibernateEntityManager = (HibernateEntityManager)entityManager;
Session session = hibernateEntityManager.getSession();

//取数据Bo,例如名称为info
info = service.getInfo();

//set部分

//清掉该对象缓存,防止更新数据库
session.evict(info);

方法二:Java11

//手动清除缓存
@Autowired
private EntityManager entityManager;

//……

entityManager.unwrap(Session.class).clear();
posted @ 2023-05-06 13:59  菊草叶与圆企鹅  阅读(17)  评论(0编辑  收藏  举报