有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate语法错误:应为点

我在执行下面的hibernate事务时遇到以下错误:expecting DOT, found '=' near line 1, column 32 [update t_credential set status = :status , assigned_engine = :engine where id = :id]

另外,t_credential是一个表,而不是一个对象。hibernate是否允许以这种方式使用,还是强制必须是一个对象

for(Credential credential: accountList){

Query query = ssn.createQuery("update t_credential set status =:status , assigned_engine = :engine where id = :id");
query.setParameter("status", status);
query.setParameter("engine", assignedTo);
query.setParameter("id", String.valueOf(credential.getId()));
int result = query.executeUpate();
 }

共 (2) 个答案

  1. # 1 楼答案

    如果要将Hibernate与SQL查询(而不是HQL查询)一起使用,可能需要使用不同的函数

    ssn.createSQLQuery(" ... ");
    

    我从来没有使用过这个函数,所以我希望这是一个很好的答案

    马克斯