最近我在使用createSQLQuery()方法时候发现有两个问题,在此提出来希望大家遇到的时候节省大家时间
第一个:No Dialect mapping for JDBC type :-X hibernate的错误,X代表的是数字
我目前遇到的是org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
没有能够和text类型对应的java类型
网上的各位都说,出现这个原因是说服务器端的数据类型并不能和Java的相应的数据类型成功映射
解决办法参考:注册新的类型映射
具体请参考下面这位仁兄解答
http://blog.csdn.net/xd195666916/archive/2010/03/26/5419316.aspx
关于mysql数据类型与java数据类型对照:
http://hi.baidu.com/lilingqhd/blog/item/dfab391293b03c0b5baf5348.html
第二个:hibernate中用createSQLQuery方法查询,返回的list用object[]接收,
遍历取值发现object[i]输出值是只有一位。这个问题具体原因尚不清楚,但是和数据库方言有关
我在mysql数据库中目前遇到的是,数据库中sum求和输出的数值例如189只能输出1后面两位不见了
加班的时候好不容易才发现这个问题,浪费很多时间,我一直以为sql错误
解决方法参考:指定输出数据的类型addScalar("数据库字段名",Hibernate.输出类型).
具体请参考下面这位仁兄解答
http://blog.csdn.net/dream8062/archive/2009/10/30/4748422.aspx
网上基本都是说使用DB2数据库的时候出现char型输出只有一位,呵呵,中国有钱的单位真是多,DB2运用这么广泛吗?
其实这个我以前在使用oracle数据库也遇到过类似情况,就是数据库里面的timestamp类型使用createSQLQuery()方法查询出来的时候发现只有日期(年月日),当时的解决方法是直接在sql中把日期转成字符串输出
具体产生这种情况原因,还需要达人帮助解答一下?
分享到:
相关推荐
hibernate 的createSQLQuery的几种用法总结
关于hibernate 的createQuery和createSqlQuery 的区别
使用hibernate的query调用oracle的存储过程/function,包含例子,源码以及数据库文件
2.4.1 Hibernate的核心接口 2.4.2 事件处理接口 2.4.3 Hibernate映射类型接口 2.4.4 可供扩展的接口 2.5 小结 2.6 思考题 第3章 第一个Hibernate应用 3.1 创建Hibernate的配置文件 3.2 创建持久化类...
2.4.1 Hibernate的核心接口 2.4.2 事件处理接口 2.4.3 Hibernate映射类型接口 2.4.4 可供扩展的接口 2.5 小结 2.6 思考题 第3章 第一个Hibernate应用 3.1 创建Hibernate的配置文件 3.2 创建持久化类...
2.4.1 Hibernate的核心接口 2.4.2 事件处理接口 2.4.3 Hibernate映射类型接口 2.4.4 可供扩展的接口 2.5 小结 2.6 思考题 第3章 第一个Hibernate应用 3.1 创建Hibernate的配置文件 3.2 创建持久化类...
2.4.1 Hibernate的核心接口 2.4.2 事件处理接口 2.4.3 Hibernate映射类型接口 2.4.4 可供扩展的接口 2.5 小结 2.6 思考题 第3章 第一个Hibernate应用 3.1 创建Hibernate的配置文件 3.2 创建持久化类...
If Hiberate is used, with the help of query builder (createSQLQuery) in org.hibernate.Session, one can mention the placeholder parameter name in the SQL and set the values based on the parameter name....