关于MySQL的No Dialect mapping for JDBC type: 错误
2009-12-09 15:56
816 查看
我的MySQL数据库中有张表的字段是text,查询出来后对应的java类型是String,Dialect设置为org.hibernate.dialect.MySQLDialect
运行的时候报错:No Dialect mapping for JDBC type:-1
错误的原因是MySQL和java类型转换错误,解决方法如下:
1.首先自己写一个class,继承org.hibernate.dialect.MySQLDialect
public class BlobMySQLDialect extends MySQLDialect {
public BlobMySQLDialect(){
super();
registerHibernateType(Types.LONGNVARCHAR, Hibernate.TEXT.getName());
}
}
2.Dialect设置为:包名.BlobMySQLDialect
注:其他的数据类型请参考下表
运行的时候报错:No Dialect mapping for JDBC type:-1
错误的原因是MySQL和java类型转换错误,解决方法如下:
1.首先自己写一个class,继承org.hibernate.dialect.MySQLDialect
public class BlobMySQLDialect extends MySQLDialect {
public BlobMySQLDialect(){
super();
registerHibernateType(Types.LONGNVARCHAR, Hibernate.TEXT.getName());
}
}
2.Dialect设置为:包名.BlobMySQLDialect
注:其他的数据类型请参考下表
类型名称 | 显示长度 | 数据库类型 | JAVA类型 | JDBC类型(int) | Types属性 |
VARCHAR | L+N | VARCHAR | java.lang.String | 12 | Types.VARCHAR |
CHAR | N | CHAR | java.lang.String | 1 | Types.CHAR |
BLOB | L+N | BLOB | java.lang.byte[] | -4 | Types.LONGVARBINARY |
TEXT | 65535 | VARCHAR | java.lang.String | -1 | Types.LONGVARCHAR |
INTEGER | 4 | INTEGER UNSIGNED | java.lang.Long | 4 | Types.INTEGER |
TINYINT | 3 | TINYINT UNSIGNED | java.lang.Integer | -6 | Types.TINYINT |
SMALLINT | 5 | SMALLINT UNSIGNED | java.lang.Integer | 5 | Types.SMALLINT |
MEDIUMINT | 8 | MEDIUMINT UNSIGNED | java.lang.Integer | 4 | Types.INTEGER |
BIT | 1 | BIT | java.lang.Boolean | -7 | Types.BIT |
BIGINT | 20 | BIGINT UNSIGNED | java.math.BigInteger | -5 | Types.BIGINT |
FLOAT | 4+8 | FLOAT | java.lang.Float | 7 | Types.REAL |
DOUBLE | 22 | DOUBLE | java.lang.Double | 8 | Types.DOUBLE |
DECIMAL | 11 | DECIMAL | java.math.BigDecimal | 3 | Types.DECIMAL |
BOOLEAN | 1 | 同TINYINT | java.lang.Integer | -6 | Types.TINYINT |
DATE | 10 | DATE | java.sql.Date | 91 | Types.DATE |
TIME | 8 | TIME | java.sql.Time | 92 | Types.TIME |
DATETIME | 19 | DATETIME | java.sql.Timestamp | 93 | Types.TIMESTAMP |
TIMESTAMP | 19 | TIMESTAMP | java.sql.Timestamp | 93 | Types.TIMESTAMP |
YEAR | 4 | YEAR | java.sql.Date | 91 | Types.DATE |
相关文章推荐
- mysql varchar长度过大引起hibernate原生态SQL错误:No Dialect mapping for JDBC type: -1错误的解决方法
- 关于No Dialect mapping for JDBC type :-9 hibernat...
- No Dialect mapping for JDBC type 错误分析
- MySQL No Dialect mapping for JDBC type: -1
- No Dialect mapping for JDBC type 错误分析
- No Dialect mapping for JDBC type:?类型的错误
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题
- 执行sql出现No Dialect mapping for JDBC type: -9错误
- No Dialect mapping for JDBC type:?类型的错误
- No Dialect mapping for JDBC type–4 hibernate查询MySQL中longBlob数据
- hibernate中报org.hibernate.MappingException: No Dialect mapping for JDBC type: -16错误
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题 .
- 毕设问题小记——No Dialect mapping for JDBC type:-1错误
- 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题
- weblogic hibernate关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题(www.50xiao.com)
- No Dialect mapping for JDBC type 错误分析
- 错误:No Dialect mapping for JDBC type: -9
- No Dialect mapping for JDBC type 错误分析,Hibernate和数据库类型对应
- 关于“No Dialect mapping for JDBC type : ? ”的总结