Chs*_*y76 17
最直接的方法是将不经常使用的属性映射为惰性:
<property name="extendedProperty" lazy="true" />
... or using Annotations ...
@Basic(fetch = FetchType.LAZY)
String getExtendedProperty() { ... }
Run Code Online (Sandbox Code Playgroud)
Hibernate最初不会加载这些属性; 相反,它们将按需加载(首次访问时).您可以通过fetch all properties
HQL查询中的using 子句强制Hibernate加载所有属性.
另一种可能的情况是实际将两个完全独立的实体映射到同一个表,但使其中一个不可变.请记住,它们将被Hibernate视为不同的实体,第一级/第二级缓存对于两者都是完全独立的(这就是为什么不变性很重要).
你将不能够实现通过继承映射此功能,因为Hibernate 总是会返回一个实际的具体的实体类型.看一下我对Hibernate继承策略问题的回答,以获得详细解释.
归档时间: |
|
查看次数: |
12380 次 |
最近记录: |