hibernate中Blob,Clob字段类行,二级缓存的问题,哪位老大来指点指点

06-04-10 Q088
我用的是hibernate 3.1.3版本,数据库SQLServer2000,二级缓存EhCache

问题是这样的,在我的pojo实体类中有一个Blob字段

这个实体类我开启了二级缓存,read-write

当dynamic-insert="false" dynamic-update="false"这两个属性为false时

insert,出现异常

java.lang.UnsupportedOperationException: Blobs are not cacheable

...略

当我把dynamic-insert="true" dynamic-update="true"这两个属性设为true时

insert成功,图片也成功的写入了数据库里

但是读取时还是出现异常,

java.lang.UnsupportedOperationException: Blobs are not cacheable

是不是有Blob或Clob这种大型的字段在,实体类就不能采用二级缓存策略了

按书里说的一种办法,把Blob分离出来,单独做一个子类,在父类使用缓存,但是我觉得这个办法不好

为了一个字段就另写一个类和一个hbm.xml映射文件是不是太小题大作了一点

请问各位牛人老大,有没有什么更好的解决办法,或者是有另外的配置方法

小弟我初学hibernate,请各为老大多多指教

banq
2006-04-10 12:15
Blob这样的东东缺省不应该被缓存。你如果需要缓存,直接操作缓存即可。

Q088
2006-04-10 14:37
banq老师:

这种字段我也不想缓存,但是我类里的其他字段需要缓存,

有没什么好的解决办法

猜你喜欢