带有文字的jpa namedquery已更改为准备好的语句

时间:2015-02-04 09:12:10

标签: jpa prepared-statement openjpa named-query sqlperformance

我有一个jpa(openjpa-2.2.1)namedquery,它有一些硬编码文字(例如:a.status<>' X') - 问题是在运行时生成的查询实际上是准备好的陈述(a.status<>?)

有没有办法强制JPA按原样运行查询?(我希望将其保留为namedquery,而不是将其作为本机查询或其他方式实现)

由于性能原因,我想按原样运行查询 - 静态查询在大约2秒内在db客户端中运行,而准备好的语句在7到3分钟内从JUNIT触发。 (过去我们遇到了一些性能问题,一些查询的预处理语句和更改为静态查询都有诀窍)

1 个答案:

答案 0 :(得分:1)

设置查询提示openjpa.hint.UseLiteralInSQL=trueref)。有关详细信息,请参阅this IBM technote