java - hibernate : Column count doesn't match value count at row 1

标签 java mysql spring hibernate database-administration

我正在使用 Hibernate 5 和 Spring 4。执行以下 SQL 查询并收到错误

Caused by: java.sql.SQLException: Column count doesn't match value count at row 1

SQLQuery query = getSessionFactory().getCurrentSession().createSQLQuery(" update irms_deleted_data SET reason=:reasonStr WHERE  irms_id=:id ");
        query.setString("reasonStr", "ABCD1234");
        query.setInteger("id", irmsData.getId());
        query.executeUpdate();

知道为什么我会收到此错误吗?

最佳答案

我尝试了以下(简单的 hibernate 示例)

创建表irms_deleted_data(原因varchar2(10),irms_id号(11,0)); 插入 IRMS_DELETED_DATA 值 ('xyz', 1);

编写一个函数:

private void updateirmsDeletedData() {
Transaction tx = null;
Session session = factory.openSession();
try {
tx = session.beginTransaction();
SQLQuery query = session.createSQLQuery("update irms_deleted_data SET reason=:reasonStr WHERE  irms_id=:id");
query.setString("reasonStr", "ABCD1234");
query.setInteger("id", 1);
query.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
tx.commit();
session.close();
}

这有效......

您还可以检查 irms_deleted_data 上是否有触发器正在执行导致问题的操作...

关于java - hibernate : Column count doesn't match value count at row 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45371226/

相关文章:

java - ViewModel 不缓存 RecyclerView 的数据并且保存 ListState 不起作用

java - Eclipse 代码模板

mysql - 如何使用数据列表使用 FIND_IN_SET

php - MySQL > 总结为单个查询(包括谷歌地图)

Java OOP 实例化自身还是添加子类?

java - 类型不兼容错误。发现需要 java.lang.Object :Item

php - Laravel 5.2 [PDOException] SQLSTATE[42000] - 创建两个 auto_increment 主键字段

java - Spring 数据 jpa @query 和可分页

spring - 如何使用 spring 3.0 创建 restful web 服务?

spring - 使用 Spring Boot 的 SPA - 为非 API 请求提供 index.html