小编use*_*372的帖子

如何使用hibernate更新java中的表而不使用hql和sql

我已经尝试了很多使用hql更新我的表但我没有找到解决方案,我也在互联网上搜索过,我是java和hibernate的新手请帮我找到解决方案.

我的代码写在下面.

session.getTransaction().begin();
Query query = session.createQuery("update DocDetail set DocName = :docname" + 
    " where Id = :docId");
query.setParameter("docname", "Jack");
query.setParameter("docId", 3);
int result = query.executeUpdate();
session.getTransaction().commit();
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误.

Exception in thread "AWT-EventQueue-0" org.hibernate.QueryException: query must begin with SELECT or FROM: update [update clinic.entity.DocDetail set DocName = :studentName where Id = :studentId]
at org.hibernate.hql.classic.ClauseParser.token(ClauseParser.java:106)
at org.hibernate.hql.classic.PreprocessingParser.token(PreprocessingParser.java:131)
at org.hibernate.hql.classic.ParserHelper.parse(ParserHelper.java:51)
Run Code Online (Sandbox Code Playgroud)

java hibernate hql

11
推荐指数
3
解决办法
7万
查看次数

标签 统计

hibernate ×1

hql ×1

java ×1