在Hibernate中使用SQLQuery更新查询

在Hibernate中使用SQLQuery更新查询,hibernate,Hibernate,我必须这样做: 假设: 如果我写下: SQLQuery query=session.createSQLQuery("update poster set userid=:userid where posterid=:posterid "); query.setParameter("userid",userid); query.setParameter("posterid",posterid); query.executeUpdate(); 也不工作。session.beginTransacti

我必须这样做: 假设:

如果我写下:

SQLQuery query=session.createSQLQuery("update poster set userid=:userid where posterid=:posterid ");
query.setParameter("userid",userid);
query.setParameter("posterid",posterid);

query.executeUpdate();

也不工作。

session.beginTransaction()

SQLQuery=session.createSQLQuery(“更新海报集userid=”“+userid+”,其中posterid=”“+posterid+””);
query.executeUpdate()


session.getTransaction().commit()

如何检索会话对象? 必须确保更新查询在未标记为只读的事务中运行

根据执行上下文的不同,您有不同的方法来执行此操作


尝试NobodyElse方法或在方法中添加
@Transactional
注释

我已经纠正了这个问题。现在它运行良好


提交事务时出现了问题。

您能发布您收到的错误或异常情况吗?由于信息有限,我认为没有人能帮助您在发布任何问题之前完成此过程。请粘贴更多错误消息。打印query时,它不会引发任何异常。executeUpdate()方法,它返回0,即使我已提交事务。
SQLQuery query=session.createSQLQuery("update poster set userid=:userid where posterid=:posterid ");
query.setParameter("userid",userid);
query.setParameter("posterid",posterid);

query.executeUpdate();