我正在使用此代码进行更新占用,但我收到错误信息,例如查询必须以select or 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();
}
答案 0 :(得分:1)
使用SQLQuery
和createSQLQuery
代替Query
和createQuery
。如果您使用Query
和createQuery
,则必须使用Hibernate的语法。如果您需要常规SQL语法,请使用SQLQuery
。
答案 1 :(得分:0)
问题解决了..我使用了会话的方法更新
public static void changeOccup(String email,String occup){Session sess=null;try{sess=UtilClass.createSession();Transaction tr=sess.beginTransaction();Userrecord u=(Userrecord) sess.get(Userrecord.class, email); u.setOccupation(occup); sess.update(u);tr.commit();}catch(Exception e){} }