hibernate报错could not insert

javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not insert: [com.ebs.core.source.model.SourceNCPItem]
	

项目以前保存功能是正常的,后来我新增了一个字段

	/**
	 * 说明(对应报告中备注)
	 */
	@Column(name = "explain")
	private String explain;

数据库也加上这个字段了 

然后保存死活不行了 一直报错 could not insert:

查询是可以的 

后来我把hibernate的SQL语句打印出来 才发现问题 

这个字段居然是关键字。

字段修改为 

explains

 

完美解决。

希望给有相同问题的童鞋有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在 Hibernate 中执行查询时,出现 "could not extract ResultSet" 错误通常表示查询执行过程中发生了问题,导致无法从数据库中提取结果集。 这个错误可能有多种原因,以下是一些常见的可能性和解决方法: 1. SQL 查询错误:请确保您的 HQL 或 SQL 查询语句是有效的,并且满足数据库中表和列的存在和关联关系。检查查询语句中的表名、列名、关联条件等是否正确。 2. 数据库连接问题:该错误也可能是由于数据库连接问题引起的。请确保您的数据库连接配置正确,并且数据库服务器可正常访问。检查数据库连接字符串、用户名、密码等配置是否正确。 3. 数据库事务问题:如果您在查询执行之前启动了一个事务,并且在查询执行期间发生了异常或错误,可能会导致 "could not extract ResultSet" 错误。请确保事务管理正确,包括事务的开始、提交和回滚。 4. 查询结果不匹配:如果您的查询结果与您指定的实体类或返回类型不匹配,也可能导致此错误。请检查查询结果与实体类或返回类型之间的匹配关系,并确保它们一致。 5. 数据库表结构变化:如果在查询执行之前进行了数据库表结构的更改(例如添加或删除列),但是 Hibernate 的实体类或映射文件没有相应地更新,也可能导致此错误。请确保实体类和数据库表结构保持同步。 如果以上解决方法都不起作用,建议提供更具体的错误消息、查询语句和相关的代码,以便更好地帮助您解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值