mysql数据库中的数据类型和java里类型不匹配,需要自定义方言:

package com.ss.util;

import java.sql.Types;

import org.hibernate.Hibernate;
import org.hibernate.dialect.MySQL5Dialect;

/**
 * 自定义hibernate方言
 * 
 * @author wy
 * 
 */
public class CustomDialect extends MySQL5Dialect {
	public CustomDialect() {
		super();
		registerHibernateType(Types.LONGVARCHAR, Hibernate.TEXT.getName());
		registerHibernateType(-1, Hibernate.STRING.getName());
	}
}

然后在hibernate配置文件中,加上(我的是persistence.xml)

		<property name="hibernate.dialect" value="com.ss.util.CustomDialect"/>				
这样就ok了,具体看:No Dialect mapping for JDBC type: -1  中最后面的数字,找到无法识别的数据类型


posted on 2013-09-18 10:57  wyang0126  阅读(271)  评论(0编辑  收藏  举报