hibernate中映射长文本类型的通用方式

阅读更多
hibernate中映射长文本类型的通用方式(仅限oracle/sqlserver/mysql/postgresql):
变量类型为String,映射类型为text,hibernate会根据不同数据库类型,生成对应的DDL。
如private String content;对应的xdoclet标记为:
@hibernate.property column="content" type="text"

生成的DDL中,oracle中对应clob,sqlserver/postgresql/mysql对应text。但mysql的text最大长度仅为65535,因此针对mysql,将对应的数据库表的字段类型由text修改为longtext(最大长度为2G)即可。
oracle的clob处理比较特殊,在采用oracle9.2及更早版本自带的ojdbc14.jar时,需要进行额外的处理。在采用oracle10g的ojdbc14.jar后,已经可以直接处理长文本的clob数据。

各表ID采用相应的sequence生成:@hibernate.id generator-class="sequence" column="id" generator-param="name" value="SQ_PERSON_ID"

你可能感兴趣的:(Hibernate,MySQL,Oracle,PostgreSQL)