2008-01-07

Hibernate与大字段的持久化

关键字: hibernate
hibernate对于大字段的支持依赖于数据库的实现。

经常遇到这样的问题,如在oracle下如何把超过4000byte的字符串保存到数据库中,而varchar2的最大长度是4000。看了大半天hibernate对clob的支持,觉得太繁琐了,经过同事的实验,发现仅仅需要将oracle中该字段直接手工alter为clob,而在hibernate中对该字段的映射不变,直接设置为string类型,对于过去为varchar即可,长度保留为4000(似乎不限)。至于原因,应该是oracle的驱动在这方面作的很强大,自动将clob类型解析为hibernate的string。

在mysql下,只需要将hibernate映射对象设置为text即可。

最后,注意hibernate的hibernate.hbm2ddl.auto设置为update,这样oracle的修改才不会丢失.
评论
auauau 2008-01-08   回复
我通常设为 org,hibernate.type.TextType 类型
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

tigers
搜索本博客
最近加入圈子
存档
最新评论