我想在我的hibernate映射文件中为单个查询设置 work_mem
(set work_mem='100MB';
)。我在哪里需要为以下查询设置work_mem
<query name="queryname">
<![CDATA[SELECT s from Stock A s where s.stockCode = :stockCode]]>
</query>
答案 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查询。