我正在使用带有Hibernate和MySQL的netbeans开发桌面应用程序.当我向数据库添加一条新记录时,它完全正常工作但是当我尝试更新一个对象字段时,我有这个错误:
could not execute statement
INFO: HHH000010: On release of batch it still contained JDBC statements
Jan 17, 2015 2:47:00 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper$StandardWarningHandler logWarning
WARN: SQL Warning Code: 1064, SQLState: 42000
Jan 17, 2015 2:47:00 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper$StandardWarningHandler logWarning
WARN: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index=1' at line 1
Java代码:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
Session session = null;
try {
session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Student student = (Student) session.get(Student.class, new Integer(1));
student.setMark(0);
System.out.println(student.getIndex()+" "+student.getName()+" "+student.getMark());
session.saveOrUpdate(student);
session.getTransaction().commit();
session.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
hibernate.cfg.xml:
org.hibernate.dialect.MySQLInnoDBDialect
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/studentsdb?zeroDateTimeBehavior=convertToNull
root
update
Hibernate映射xml:
解决方法:
您需要将标识符重命名为id.
标签:java,mysql,sql,orm,hibernate
来源: https://codeday.me/bug/20190628/1318844.html