【发布时间】:2015-01-07 02:01:33
【问题描述】:
我正在尝试使我的 Grails 域类的一个字段延迟加载。实际上这是 DB 中的一个 CLOB 列,但它映射到 Grails 域类中的 String 字段。 所以我为这个类创建了以下休眠映射:
<hibernate-mapping>
<class name="MyClass" table="my_table">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="clobCol" type="materialized_clob" lazy="true"/>
<property name="someOtherField" type="string"/>
</class>
</hibernate-mapping>
我的域类如下所示:
class MyClass {
String someOtherField
String clobCol
static constraints = {
clobCol(nullable: true)
}
}
当我使用 DetachedCriteria 查询数据库时,我期望 clobCol 应该是惰性的。但实际上它正在被急切地加载。
是否可以通过这种方式使字段变得懒惰?如果是,那么我做错了什么?如果没有,那么在没有大量重构类和现有查询的情况下,让 clobCol 变得懒惰的最佳方法是什么?
【问题讨论】:
标签: hibernate grails grails-orm lazy-loading clob