-1
当从DB读取并编辑了对象但保存过程中的对象时,我会决定是保存还是丢弃数据。但JPA/Hibernate会自动保存编辑后的数据(Auto Flush)。JPA-Hibernate保存未保存的数据
DB.beginTransaction
try{
MyObject myObj = DB.readMyObject();
myObj.setCurrentTime(System.currentTimeinMills());
MyObject myObj1 = DB.readMyObject();
myObj1.setCurrentTime(System.currentTimeinMills());
// myObj Edited.
// myObj1 Edited.
if(isPermittedToSave()){
DB.persist(myObj);
}
DB.persist(myObj1);
DB.commitTransaction();
} Catch(Exception e) {
DB.rollbackTransaction();
}
我会一直坚持“myObj1”。所有这些过程必须在单个事务下运行。
我该怎么做才能禁用JPA/Hibernate的这种行为。该解决方案还应该能够执行Lazy Fetch并更新“myObj”。
亲爱的@Antoniossss感谢您的快速回复。你能建议我解决这个问题吗?谢谢。 – sam
只要开始事务,完成你的工作,然后提交,如果你想保留更改或回滚,如果你想放弃它们。 – Antoniossss