Java Hibernate:将多个本机查询分组在一起

Java Hibernate:将多个本机查询分组在一起,java,hibernate,postgresql,Java,Hibernate,Postgresql,我使用hibernate和postgresql 9.1成功运行了以下代码 session.createSQLQuery("delete from table_1; delete from table_2").executeUpdate(); 我的问题是:hibernate是否正式支持将本机查询分组并一次性运行?我在手册中找不到这样的信息使用此解决方案是否存在任何缺点或潜在风险?您不能执行这样的多个查询,但是如果出于任何原因需要执行这样的查询,您可以将这些调用放在存储过程中并调用该存储过程。但是

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

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

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

您不能执行这样的多个查询,但是如果出于任何原因需要执行这样的查询,您可以将这些调用放在存储过程中并调用该存储过程。但是,我不建议使用存储过程。

他可以像这样执行查询。他们确实工作。问题是——hibernate是否正式支持此方法。您依赖的是PostgreSQL扩展,因此没有。不要指望它能与其他数据库一起工作,如果hibernate出于任何原因决定尝试解析本机SQL,它可能随时停止工作(不太可能)。你到底想通过这样做解决什么实际问题?“为什么”,您关心的原因是什么?我有多个命名查询(创建表、插入、分析表等)总是一起运行,我想知道是否可以将它们组合成一个。我检查了一下,它成功了,但我在hibernate的手册中找不到任何关于这方面的信息。我同意正确的操作可能取决于目标数据库。目前hibernate不干涉此类查询,只需将它们发送到db,除非您有充分的理由(不仅仅是“方便”),否则不要这样做。只需分别发送每个查询。