[英]JPA / How to fetch entity in read-only mode?
我面临一个问题,我需要以只读模式两次检索实体以进行比较(需要将指向同一实体的db对象与db分开,在比较之前,我需要对它们进行一些操作)。 由于我的JPA和Hibernate在EntityManager中不支持detach(),而且我无法将其更改为较新的版本,因此是否有任何解决方法,所以我可以获取这两个方法?
预先感谢您的帮助,
P.
提取后,您可以将实体转移到另一个像MyUnmanagedEntity
这样的bean中。 只需使用未映射为@Entity
的子类,因此不会持久化。 使用适当的构造函数初始化它,该构造函数采用原始构造并传输您需要的所有字段。
另一种方法是close()
您的EntityManager
以便它停止管理您的实体。 但这也会影响所有其他受管实体。
我认为您可以使用em.getDelegate()
获得基础的Hibernate Session
,并在其上调用evict()
。
通过使用Apache Commons库的功能之一,更确切地说是Common BeanUtils( http://commons.apache.org/beanutils/ ),我设法通过一种变通方法实现了我的目标。 它包含一种复制实体bean内容(已分离)的方法,并且可以在不影响数据库中数据的情况下进行进一步处理。
谢谢您的帮助,
问候,体育。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.