如何在hibernate配置文件中设置work_mem

时间:2014-08-16 11:15:04

标签: java hibernate postgresql

我想在我的hibernate映射文件中为单个查询设置 work_mem set work_mem='100MB';)。我在哪里需要为以下查询设置work_mem

<query name="queryname">
  <![CDATA[SELECT s from Stock A s where s.stockCode = :stockCode]]>
</query>

1 个答案:

答案 0 :(得分:0)

您需要访问当前的Hibernate会话并使用doWork执行本机SQL命令:

session.doWork(new Work() {
                 @Override
                 public void execute(Connection conn) throws SQLException {
                       Statement s = null;
                       try {
                              s = conn.createStatement();
                              s.executeUpdate("SET work_mem TO '100MB';");
                       }
                       finally {
                              s.close();
                       }                                
                 }
          });

然后你可以继续你的Hibernate查询。