Aneesh
Aneesh

Reputation: 1733

Hibernate syntax error : Expected DOT

I am getting the following error on the execution of the below hibernate transaction : expecting DOT, found '=' near line 1, column 32 [update t_credential set status = :status , assigned_engine = :engine where id = :id] .

Also, t_credential is a table and not an object. Does hibernate allow to use this way or does it compulsorily have to be an object?

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();
 }

Upvotes: 0

Views: 694

Answers (2)

user2681906
user2681906

Reputation: 1

If you want to use Hibernate with SQL Query (and not HQL query), you may have to use a different function.

ssn.createSQLQuery(" ... ");

I never used this function, so I hope it's a good answer for you.

Max

Upvotes: 0

BartoszKP
BartoszKP

Reputation: 35891

Look at the HQL example here: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/batch.html#batch-direct. It seems that you need to refer to an object: "update t_credential c", and then update it's fields, like this: "set c.status = :status" and so on.

Upvotes: 1

Related Questions