最近公司项目,需要临时修改对象的属性,但不需要将对象持久化。这就面临一个问题,需要将对象克隆再做修改,那么克隆的对象将不会被持久化,也不会改变原来对象的内容。
查看HibernateAPI得知,Hibernate在对对象merge以后,将返回一个对象,那么这个对象就是被克隆的对象,如下代码段:
查看HibernateAPI得知,Hibernate在对对象merge以后,将返回一个对象,那么这个对象就是被克隆的对象,如下代码段:
//显示报表
@Transactional
public void showReport(Long reportId){
CustomFilterfilter=customFilterDAO.findById(reportId);
filter.setFilterName("新名称");//更改对象属性将会被持久化
CustomFiltercloneFilter=customFilterDAO.merge(filter);//使用Hibenatemerge方法获取克隆对象
cloneFilter.setFilterName("新名称");//更改属性不会被持久化
}