hiberante 注册自定义类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hiberante 注册自定义类型相关的知识,希望对你有一定的参考价值。
工作中遇到原生的hibernate方言无法将数据库中的某些数据类型映射到java类中,需要做两个操作:
1、创建类继承自原方言类,并修改所要更改的数据类型,代码如下:
package com.lkscn.base.dialect; import java.sql.Types; import org.hibernate.Hibernate; import org.hibernate.dialect.mysql5Dialect; public class MyDialectForInkfish extends MySQL5Dialect { public MyDialectForInkfish(){ super(); //数据库中的longchar类型映射为text类型 registerHibernateType(Types.LONGVARCHAR, 65535, "text"); registerHibernateType(Types.LONGVARCHAR, 65535, "longtext"); registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName()); registerHibernateType(-1, Hibernate.STRING.getName()); } }
2、修改配置文件
<!-- MySql 数据源配置 --> <property name="hibernateProperties"> <value> hibernate.cache.use_query_cache=true hibernate.cache.use_second_level_cache=true hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider <!-- hibernate.dialect=org.hibernate.dialect.MySQLDialect --> hibernate.dialect=com.lkscn.base.dialect.MyDialectForInkfish hibernate.hbm2ddl.auto=update <!--hibernate.show_sql=show --> hibernate.format_sql=true hibernate.jdbc.fetch_size=5 hibernate.jdbc.batch_size=30 </value> </property>
本文出自 “shihou” 博客,谢绝转载!
以上是关于hiberante 注册自定义类型的主要内容,如果未能解决你的问题,请参考以下文章