如何创建列表中的数据并将其插入到hibernate查询中

时间:2015-04-22 12:38:02

标签: java hibernate hql

我需要使用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'是代码。

这是我对代码的看法,但它不起作用。任何人都可以告诉我如何以正确的方式做到这一点?感谢。

1 个答案:

答案 0 :(得分:0)

我不认为Hibernate查询语言管理"创建"操作。如果您使用的是EntityManager,则可能需要在使用createNativeQuery时运行本机查询;如果您使用的是Hibernate会话,则需要使用createSQLQuery:

 String hql = "create temporary table temp (id int)";
 session.createSQLQuery(hql).executeUpdate();