我正在使用 Eclipselink 开发一个应用程序,作为应用程序的一部分,我需要能够操作一些涉及更改数据的对象,而无需将其持久化到数据库中(我为某些批处理生成过程合并/更改对象)。
我不愿意更改 Entity 对象中的数据,因为即使我没有将方法标记为@Transactional
,也可能会在将来无意中从事务方法中调用此方法,并且这些更改可能会保留下来。
所以我的问题是,有没有办法解决这个问题?例如强制方法始终是非事务性的;方法一启动就终止任何事务性;等等
我知道有一个 .detach() 方法可以将对象从实体管理器中分离出来,但是,有很多对象,这在我的代码上似乎是一个潜在的容易出错的故障安全。