hibernate命名查询出错

时间:2017-01-11 10:33:46

标签: hibernate

@NamedQuery(name="getHeightByTaskId",query="select otherheight from BTSTaskDetail where id=2 for update")

错误

  

错误internal.SessionFactoryImpl - HHH000177:命名查询错误:   getHeightByTaskId org.hibernate.hql.internal.ast.QuerySyntaxException:   意外的标记:对于第1行,第79列[从中选择其他高度   com.inn.siteforge2.bts.model.BTSTaskDetail,其中id = 2表示更新]

3 个答案:

答案 0 :(得分:0)

for update无效的JPQL关键字

锁定使用标准方式之一:https://en.wikibooks.org/wiki/Java_Persistence/Locking

答案 1 :(得分:0)

@NamedQuery(name = "BTSTaskDetail.otherheight", query = "SELECT c FROM BTSTaskDetail c WHERE c.otherheight = :otherheight"),

现在更新您的实体并保存它们。

答案 2 :(得分:0)

@NamedQuery(name="getHeightByTaskId",query="select otherheight from BTSTaskDetail where id=2",lockMode = PESSIMISTIC_WRITE)