我正在使用 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/