首页 > 技术文章 > jpa set值持久化解决办法

liweixml 2020-09-07 17:27 原文

JPA使用set属性持久化问题

解决办法:

//使用实体管理器
@PersistenceContext
private EntityManager entityManager;

public void save(){
    ..//假设这里你通过findOne查出某条数据,准备做一个拷贝
    User user = xxx.findOne();
    //你在这里希望通过set 改变某些属性,发现jpa把它持久化了
    user.setName("张三");
    //解决办法
    HibernateEntityManager hEntityManager = (HibernateEntityManager)entityManager;
    Session session = hEntityManager.getSession();
    session.evict(user);     //取消jpa的持久化
    user.setName("张三");
    //然后再做其他操作
}

 

推荐阅读