休眠 – JPA脏检查
发布时间:2020-12-15 04:56:23 所属栏目:Java 来源:网络整理
导读:我知道JPA实现者(如Hibernate)监视附加到持久化上下文的实体,如果任何实体的任何字段被更改,则更改将更新到数据库. 我的问题是,JPA如何跟踪变化?实体不是通过代理人截获的,所以当然不是通过截
我知道JPA实现者(如Hibernate)监视附加到持久化上下文的实体,如果任何实体的任何字段被更改,则更改将更新到数据库.
我的问题是,JPA如何跟踪变化?实体不是通过代理人截获的,所以当然不是通过截取“设置者”,它是如何完成的? 我对这个“脏检查”功能的实现细节很感兴趣. 解决方法
他们做了一些完全依赖于实现的东西(即JPA规范在这里没有帮助你).
一些实现(例如DataNucleus,OpenJPA)使用字节码增强,并且能够有效地管理自加载以来哪些字段是脏的(并且不需要保持原始字段值的快照). 其他实现必须与之前的某些值(或通过与数据存储区的比较)进行比较. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |