首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

Hibernate真对mysql大文本字段的土语定制

2012-10-18 
Hibernate真对mysql大文本字段的方言定制本人使用的hibernate是3.2版本,数据库是mysql5.0在使用过程中出现

Hibernate真对mysql大文本字段的方言定制
    本人使用的hibernate是3.2版本,数据库是mysql5.0在使用过程中出现了一些问题。例如:当数据表中大文本字段的时候,hiberante会报出方言中不支持这个type的错误。最后找到的原因是hibernate不支持text,mediumtext,longtext等长字段的方言。
    一般我们在真对Mysql方言的时候,都是写成org.hibernate.dialect.MimerSQLDialect,我们需要根据你的建立数据库的方式,例如是否是MySQL5InnoDB,MySQLMyISAM等。当时我们用的是MySQL5InnoDB,因此大家只用写一个方法来继承MySQL5InnoDBDialect即可解决这个问题。代码如下:

public class MYSQLDialect extends MySQL5InnoDBDialect {public MYSQLDialect() {super();registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());registerHibernateType(Types.LONGVARCHAR, Hibernate.TEXT.getName());registerFunction("group_concat", new StandardSQLFunction("group_concat", Hibernate.STRING));}}


然后在hibernate配置文件中写上hibernate.dialect=com.lingdong.util.MYSQLDialect即可解决此问题。

热点排行