java执行更新语句不起作用_java – 更新时出现Hibernate错误:无法执行语句,在’index = 1’附近使用正确的语法...

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值