java - 查询必须以 select 或 from : update 开头

标签 java hibernate hql

我正在使用此代码来更新职业,但收到一条错误,例如查询必须以 select 或 from : update 开头,所以请帮助我:

public static void changeOccup(String email,String occup){
 try{  Session sess=UtilClass.createSession();
  Transaction tx=sess.beginTransaction();Query que=sess.createQuery("update Userrecord set occupation=occup where emailId=email");
  que.setParameter("occup", occup);
  que.setParameter("email", email);
  int result=que.executeUpdate();
  JOptionPane.showMessageDialog(null,"occup changed"+result);
    tx.commit();
 }

最佳答案

使用SQLQuerycreateSQLQuery而不是QuerycreateQuery。如果您使用 QuerycreateQuery,则必须使用 Hibernate 的语法。如果您需要常规 SQL 语法,请使用 SQLQuery

关于java - 查询必须以 select 或 from : update 开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22795359/

相关文章:

java - 将 XML 文件渲染为 byte[] 格式的 PDF

java - 如何使用 hibernate 更新 POJO 集

java - entityManager.find 和 entityManager.createQuery 有什么区别?

java - 查询结果上的transformTuple和For循环之间的区别 - Hibernate

nhibernate - 在 NHibernate 中使用 Postgres 聚合函数

java - hql按年龄查询

java - 如何将信任证书从 .jks 转换为 .pem?

java - 如何从字符串数组中的字符串中查找重复的字符值

hibernate - 在运行时创建 Pojo,并在将 pojo 保存到磁盘后抛出类修剪错误?

hibernate - 使用 Grails/Hibernate 加入不相关的实体