@author 阙超强
@time 2012-02-03 11:48:05
此文档主要介绍我在本周工作中遇到的2个问题以及解决方法。
一. 关于hibernate 错误 Could not execute JDBC batch update。
在本周星期二我做某个对数据库表修改的功能时,老是出现上面的错误。很费解。
我在网上找了很多资料都不的解,最后总结出代码一定是没错的。
于是去数据库查找原因,结果发现我操作的那个表中,有一个列名为数据库的关键字。
问题就出现在这里,由于表不为我所建立,找此问题找了好久。
下面为我找到资料,出现此问题的原因不外乎于此:
1. 重点注意主键的映射关系是否配置正确
2. 是由更新数据库表时,插入的数据与字段不匹配引起的。比如字段A已设为只允许有0和1值,但你却插入了一个空值或其它值,则就会报这个错误。
3. 数据库表的列名是否为关键字。
4. 不能批量更新,这个错误是因为一次性更新多条数据。
5. 另外,造成这个原因的还可能是数据库的驱动jar包不支持。
二. 关于float转为int类型的问题。
此问题看上去似乎很简单,直接通过强制转换就可以了。
但不如此,我需要转的float(浮点型)是通过对象的get方法获得的。
(int)float;此方法就无放使用。
通过各种API方法的测试,都不成功。
最后查到一个好的方法了:
用Math四舍五入转成int就行了,而且我需要转的float类型都是XXX.0模式的。
PS: Math.round(setMeal.getPayprice())
分享到:
相关推荐
### Hibernate常见错误及解决办法 #### 一、Nodefaultconstructorforentity 错误 **问题描述**:在使用Hibernate执行查询语句时,系统抛出`Nodefaultconstructorforentity`错误。 **可能原因**:该错误通常是由于...
Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update 或者org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not insert: ...
SQLGrammerException, Could not execute JDBC batch update 当执行批量更新操作时,如果SQL语法错误或数据库不支持批处理,可能会遇到此异常。检查SQL语句的语法正确性,以及数据库驱动是否支持所需的批处理功能...
另一个常见的问题是在级联操作时,如级联删除,可能会遇到`Hibernate: Could not execute JDBC batch update`的错误。这通常是由于Hibernate在执行数据库更新操作时出现了问题。为了解决这个问题,我们需要在实体类...
**问题描述**:执行Hibernate操作时,如插入数据,遇到`org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update`异常。 **原因分析**:这通常是由于数据库表不存在或表结构不匹配引起...
### 错误四:`org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update` **错误现象**: 在执行数据库批量操作时,Hibernate抛出`SQLGrammarException`,表明SQL语法错误或数据库不支持...
8. **JDBC批量更新失败**: "Could not execute JDBC batch update"可能是因为试图删除与外键关联的数据,检查数据库约束并处理好关联关系。 9. **懒加载问题**: "Stream close"提示没有启用懒加载,需要在Hibernate...
### 错误三:Could not execute JDBC batch update; nested exception is org.hibernate.exception.ConstraintViolationException 此错误表示在执行批量更新操作时违反了数据库约束,可能是外键约束、唯一性约束等...
3. **Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update** Hibernate在执行数据库批处理更新时出现SQL语法错误,可能是由于数据库表不存在或结构不符...