Hibernate:多个本地查询组合在一起

3

我使用hibernate和postgresql 9.1成功地运行了以下代码

session.createSQLQuery("delete from table_1; delete from table_2").executeUpdate();

我的问题是:hibernate是否官方支持将本地查询分组并一次性运行?我在手册中没有找到这样的信息。使用此解决方案是否存在任何缺点或潜在风险?


1
你正在依赖于PostgreSQL扩展,所以不行。不要期望它能在其他数据库上工作,并且如果Hibernate决定出于任何原因尝试解析本地SQL,则它可能随时停止工作(不太可能)。无论如何,你试图通过这样做解决什么实际问题?你关心的是什么原因? - Craig Ringer
我有多个命名查询(创建表、插入、分析表等)总是一起运行,我想知道是否可以将它们分组到一个查询中。我进行了检查,它可以工作,但我无法在Hibernate手册中找到任何相关信息。我同意正确的操作可能取决于目标数据库。目前,Hibernate不会干预这些查询,只是将它们发送到数据库。 - piotom
除非你有充分的理由(不仅仅是“方便”),否则不要这样做。只需单独发送每个查询。 - Craig Ringer
1个回答

1
您不能像这样执行多个查询,但是如果由于任何原因需要以这种方式执行它们,则可以将这些调用放入存储过程中,并调用该存储过程。但我不建议使用存储过程。

他可以像这样执行查询。它们确实有效。问题是,这种方法是否得到了 Hibernate 的官方支持。 - Ihor Romanchenko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接