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 注册自定义类型的主要内容,如果未能解决你的问题,请参考以下文章

在代码片段中包含类型转换

vs code 自定义代码片段

在片段中创建自定义列表视图时出错所需活动,找到片段

VSCode创建自定义用户片段

WordPress注册自定义post类型代码

在python 3.6中处理自定义编码时遇到类型错误