Java – Inserting data in one table using HQL in Hibernate

hibernatehqljava

I was reading the Hibernate HQL tutorial and found that HQL doesn't support INSERT INTO..VALUES.. but INSERT INTO..SELECT.. i.e. HQL only support insert from another table.

Suppose I want to insert same values in one table and that data is not from any other table i.e. the values are not in any other table.Then how can I do that in HQL?

Also, would like to know the rational behind such restrictions in HQL?

Best Answer

You don't need to use hql to insert if the data is from another table.

Simply get a reference to your entity, get a hold of a Hibernate session, and call save().

According to http://docs.jboss.org/hibernate/orm/4.0/devguide/en-US/html/ch04.html#d0e2116

Pseudo-syntax for INSERT statements

INSERT INTO EntityName properties_list select_statement

Only the INSERT INTO ... SELECT ... form is supported. You cannot specify explicit values to insert.

Related Topic