在hibernate中有没有办法禁用.hbm文件中实体类的特定属性的缓存?
在hibernate中有没有办法禁用.hbm文件中特定属性的二级缓存(通过提供一些忽略缓存属性) 例如,我有如下TextObject.hbm.xml文件在hibernate中有没有办法禁用.hbm文件中实体类的特定属性的缓存?,hibernate,caching,hibernate-mapping,clob,hbmxml,Hibernate,Caching,Hibernate Mapping,Clob,Hbmxml,在hibernate中有没有办法禁用.hbm文件中特定属性的二级缓存(通过提供一些忽略缓存属性) 例如,我有如下TextObject.hbm.xml文件 <hibernate-mapping default-cascade="save-update" auto-import="false"> <class name="com.nish.TextObject" table="TEXT_TABLE" schema="SFMFG">
<hibernate-mapping default-cascade="save-update" auto-import="false">
<class name="com.nish.TextObject" table="TEXT_TABLE" schema="SFMFG">
<cache usage="read-write" />
<id name="objectId" type="string">
<column name="OBJECT_ID" length="40" />
<generator class="assigned" />
</id>
<property name="text" type="clob">
<column name="TEXT">
<comment>Text</comment>
</column>
</property>
<property name="plainText" type="string">
<column name="PLAIN_TEXT">
<comment>Plain text</comment>
</column>
</property>
</class>
</hibernate-mapping>
正文
纯文本
通过使用
我启用了类级缓存
要求::我想要什么
- 如果我使用hibernate查询来获取
属性,那么不应该缓存它TextObject.text
- 但如果我使用hibernate查询来获取
,那么它应该被缓存TextObject.plainText
- 总之,对于我在.hbm文件中配置的少数属性,应该禁用缓存,对于我未配置的少数属性,应该启用缓存李>
- Hibernate不允许缓存clob值,因此在获取类型为“clob”的属性时,必须禁用缓存,但对于其他可缓存属性,应启用兑现
- 是的,我可以通过删除
禁用类级缓存,但这是删除整个实体类的缓存的最后一种情况