我正在努力编写一个 HQL 查询来在表中插入新记录。我已经看到了一些插入查询,如下所示,但我不想从另一个表插入数据,如下代码所示。
String hql = "INSERT INTO Employee(firstName, lastName, salary)" +
"SELECT firstName, lastName, salary FROM old_employee";
Query query = session.createQuery(hql);
int result = query.executeUpdate();
System.out.println("Rows affected: " + result);
例如,我有一个表“用户”,其中包含三个字段,如姓名、年龄、号码,并且我有该用户表的实体。对此的插入查询是什么?
在HQL中,仅支持INSERT INTO … SELECT …;没有 INSERT INTO ... VALUES。 HQL仅支持从另一个表插入。
所以从 SELECT 查询 INSERT 是可能的,如下所示
Query query = session.createQuery("insert into Stock(stock_code, stock_name)" +
"select stock_code, stock_name from backup_stock");
int result = query.executeUpdate();
来自英雄第4节 http://www.mkyong.com/hibernate/hibernate-query-examples-hql/
如果您有值和实体,只需调用
MyEntity e=new MyEntity();
e.setXXXX(the XXX values);
save(e);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)