什么时候实体 – 类增强了,为什么? jpa,spring,hibernate,javas
我使用的是spring 3.0.6,jpa 2.0,hibernate 3.6.8.
当我从db加载MyEntity时,实体类就像MyEntity __ $$_ javassist.为什么这样做?做什么的?我认为这里只能使用常规类MyEntity. 要实现延迟加载,我们可以: >对于@OneToMany – 可以在这里使用PersistenceBag 那么什么是让MyEntity迷恋的理由呢?在哪里我可以阅读更多关于它的内容?你能推荐哪本书/文章/博客? 最佳答案
实体类增强的主要原因是JPA(或Hibernate)需要跟踪实体对象的状态.
特别是JPA必须知道给定的实体字段是否“脏” – 它是由用户修改的,但是这种更改尚未反映在数据库中,因此JPA必须在提交事务时将其与数据库同步. 另一种情况是实体字段的“加载”状态.可以将任何字段指定为延迟加载.当即将使用此类字段时,JPA必须知道必须执行数据库查询以初始化该字段的值. Hibernate的默认设置是使用运行时增强 – 代理只是实体的子类,添加了额外的东西. here概述了一些一般性的想法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |