在使用Hibernate进行批量插入的时报错:
insert into JIAOFEI_JILU (version, KH_LX, KH_ID, YQDZ_ID, JFJL_YQDZ_MS, JFJL_HZ_MC, JFJL_LXDH, JFJL_ZT, JFJL_BEIZHU, JFJL_YJE, JFJL_YHJE, JFJL_ZNJ, JFJL_ZNJ_JM, ZH_ID, JFJL_SJJKFS_ID, JFJL_JYLSH, JFJL_SJJFRQ, JFJL_SJJFE, JFJL_SJZNJ, JFJL_JFQYUE, JFJL_YUJIAO, JFJL_JIECUN, JFJL_YYT, JFJL_SFYG, JFJL_YHH, JFJL_YH_WANGDIAN, JFJL_YH_GUIYUAN, JFJL_YHZH_LX, JFJL_YHZH, ORG_ID, Jfjl_jiezhuan_bz, JFJL_YQZH, JFJL_jflx_id, JFJL_JE, JFJL_PJH, Jfjl_id_old, JFJL_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
错误信息
=2011-12-08 18:23:11 WARN [org.hibernate.util.JDBCExceptionReporter] SQL Error: 1401, SQLState: 23000
=2011-12-08 18:23:11 ERROR [org.hibernate.util.JDBCExceptionReporter] ORA-01401: 插入的值对于列过大
=2011-12-08 18:23:11 WARN [org.hibernate.util.JDBCExceptionReporter] SQL Error: 1401, SQLState: 23000
=2011-12-08 18:23:11 ERROR [org.hibernate.util.JDBCExceptionReporter] ORA-01401: 插入的值对于列过大
对与以上错误无法分析到底是那个值过大,所以如果能显示出每个参数的值就应该解决了;
在网上找了两种解决方法最简单的就是在log4j.properties文件里面加一几个配置项:
log4j.appender.STDOUT.Threshold=trace
log4j.category.org.hibernate.SQL=trace
log4j.category.org.hibernate.type=trace
重新启动输出日志:
=TRACE [org.hibernate.type.StringType] binding 'huajun' to parameter: 1
=TRACE [org.hibernate.type.StringType] binding null to parameter: 2
=TRACE [org.hibernate.type.StringType] binding '0083' to parameter: 3
=TRACE [org.hibernate.type.StringType] binding '交费帐户存入' to parameter: 4
=TRACE [org.hibernate.type.BigDecimalType] binding '0.00' to parameter: 5
=TRACE [org.hibernate.type.BigDecimalType] binding '0.05' to parameter: 6
=TRACE [org.hibernate.type.StringType] binding '胡中伟 ' to parameter: 7
=TRACE [org.hibernate.type.StringType] binding '7' to parameter: 8
=TRACE [org.hibernate.type.StringType] binding '1' to parameter: 9
=TRACE [org.hibernate.type.StringType] binding null to parameter: 10
=TRACE [org.hibernate.type.TimestampType] binding '2011-12-08 19:17:35' to parameter: 11
=TRACE [org.hibernate.type.StringType] binding '' to parameter: 12
=TRACE [org.hibernate.type.StringType] binding null to parameter: 13
=TRACE [org.hibernate.type.StringType] binding null to parameter: 14
=TRACE [org.hibernate.type.StringType] binding null to parameter: 15
=TRACE [org.hibernate.type.StringType] binding null to parameter: 16
=TRACE [org.hibernate.type.StringType] binding '111208175146' to parameter: 17
=TRACE [org.hibernate.type.StringType] binding null to parameter: 18
=TRACE [org.hibernate.type.TimestampType] binding null to parameter: 19
=TRACE [org.hibernate.type.StringType] binding '6000056690' to parameter: 20
发现第个参数中有很多空格;OK 解决了
对了还有一种解决方法,不过我没测试可以参考
http://kaka100.iteye.com/blog/769784
分享到:
相关推荐
hibernate-HQL语句大全
Hibernate框架Hql语句in中带参数的写法 Hibernate框架中,在使用HQL语句时,需要传递参数,而在HQL语句中使用in关键字时,需要特别注意参数的传递方式。在本文中,我们将讨论如何在HQL语句中使用in关键字带参数的...
Hibernate HQL基础练习小列子+数据库
Hibernate HQL 查询语句总结 Hibernate HQL 查询语句是 Hibernate 框架中的一种查询语言,它提供了更加丰富的和灵活的查询特性,具有类似标准 SQL 语句的查询方式,同时也提供了更加面向对象的封装。以下是 ...
例如,如果你有一个User实体,你可能想要查询所有年龄大于30岁的用户,HQL语句可能如下所示: ```java String hql = "FROM User WHERE age > :age"; Query query = session.createQuery(hql); query.setParameter(...
其中,HQL(Hibernate Query Language)作为Hibernate提供的查询语言之一,允许开发者以接近面向对象的方式编写查询语句。本文将重点介绍Hibernate中的关联查询,并深入探讨HQL关联查询的实现原理及应用场景。 ####...
基础查询是最简单的HQL语句,用于获取所有`Student`对象。例如: ```java from Student ``` 或 ```java select s from Student as s ``` 这里的`as`关键字可以省略,表示从`Student`表中选择所有记录。查询结果将...
#### 完整的HQL语句格式 一个完整的HQL查询语句格式如下: ``` Select/update/delete … from … where … group by … having … order by … asc/desc ``` - **Select**: 查询指定字段或对象。 - **Update/...
"Hibernate-HQL语句多对多写法" Hibernate 是一个流行的 Java 持久层框架,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地与数据库交互。但是,在使用 Hibernate 时,我们经常会遇到多对多关系的...
HQL的全称是?...HQL语句为:select jd.jdid,jd.jd from TblJd jd。怎样获得并显示查询结果? 使用'?'做占位符的参数查询,怎样设置参数的值? 命名参数查询的语法是? 怎样创建Criteria查询对象?
在编写HQL查询语句时,我们可以使用`:paramName`的方式来定义参数,而不是使用传统的`?`占位符。这种方式的好处在于提高了代码的可读性和可维护性,因为命名参数可以清晰地表示参数的用途。例如: ```java String ...
- 如果HQL语句中有参数,则需要为这些参数设置值。 ```java query.setParameter("eventTitle", "测试事件"); ``` 5. **执行查询并处理结果** - 调用Query对象的`list()`方法来执行查询,并返回一个包含查询...
### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...
Hibernate中HQL语句的使用 HQL(Hibernate Query Language)是 Hibernate 框架中的一种查询语言,它允许开发者使用面向对象的方式来查询数据库。HQL语句的使用是Hibernate中最重要的部分之一,本文将详细介绍HQL...
标题:“全面解析HQL语句 非常详细直接的HQL语句的功能介绍” 描述:“非常详细直接实用的HQL语句的功能介绍看过的人保准都说好” 本篇文章将深入探讨HQL(Hibernate Query Language)的核心功能及其在数据查询...
【hibernate的HQL语句】是Hibernate框架中用于操作数据库的重要组成部分,它是一种面向对象的查询语言,类似于SQL,但更加强调对象的概念。HQL能够处理复杂的对象关系,如继承、多态和关联,使得在进行SSH(Spring、...
在Hibernate框架中,HQL(Hibernate Query Language)是用于操作对象关系映射的查询语言,类似于SQL,但它是面向对象的。本篇文章将详细介绍在Hibernate中进行投影查询的三种主要方式:直接查询、查询返回对象以及...
此压缩包中的`HibernateHQL.chm`文件很可能是Hibernate HQL的详细教程或参考手册,包含了HQL的语法、用法示例、最佳实践以及可能遇到的问题解决方案。它可以帮助开发者深入理解如何在实际项目中高效地使用HQL进行...
例如,查询所有User对象的HQL语句为:“FROM User”。 二、HQL基本结构 1. SELECT子句:HQL支持多种选择项,包括属性、方法、计算表达式等,如“SELECT u.name FROM User u”。 2. FROM子句:指定查询的实体类,如...
### HQL语句详解:精通Hibernate查询语言 #### 引言 HQL(Hibernate Query Language)是Hibernate框架中用于执行数据库操作的一种强大的查询语言。它提供了面向对象的语法,允许开发人员以一种接近于编程语言的方式...