我需要使用hibernate创建一个临时表,然后将列表中的数据插入到此表中。这就是我的意思:
String hql = "create temporary table temp (id int)";
session.createQuery(hql);
并在此for循环中,我将列表中的数据插入表格' temp' :
for(Example example : examples) {
hql = "insert into temp (" + example.getId() + ")";
query = session.createQuery(hql);
query.executeUpdate();
}
当我用examples
(这是一个列表)的valuse填充表时,我可以将此表用于另一个查询。创建和插入此表必须在我的代码中自动完成,并且无法手动在数据库中完成,因为列表'examples'
是代码。
这是我对代码的看法,但它不起作用。任何人都可以告诉我如何以正确的方式做到这一点?感谢。
答案 0 :(得分:0)
我不认为Hibernate查询语言管理"创建"操作。如果您使用的是EntityManager,则可能需要在使用createNativeQuery时运行本机查询;如果您使用的是Hibernate会话,则需要使用createSQLQuery:
String hql = "create temporary table temp (id int)";
session.createSQLQuery(hql).executeUpdate();