如何在db2动态语句缓存中解析带有参数标记的命名查询?

时间:2011-06-08 09:42:58

标签: java jpa db2 eclipselink

我有一个包含命名查询的带注释实体。该查询包含3个位置参数标记。

在运行时,参数已设置,并且在语句存储在DB2缓存中之前将它们绑定。结果是缓存充满了许多类似的SQL语句,并且每个语句都被反复绑定。 有没有办法执行像预处理语句这样的命名查询,以便在DB2缓存中将sql绑定并存储一次,带有问号?

我使用WLS 10.2作为应用程序服务器,eclipselink作为持久性提供程序,DB2作为数据库。

我尝试使用属性

配置eclipselink

property name =“eclipselink.jdbc.bind-parameters”value =“false”

但无论如何(默认为true),SQL语句与绑定文字一起存储而不是?在DB2缓存中。

期待任何提示或答案。

感谢。

1 个答案:

答案 0 :(得分:0)

您需要使用,

property name =“eclipselink.jdbc.bind-parameters”value =“true”

这是默认值,false将阻止语句缓存。

您还应该启用语句缓存。如果使用DataSource,则需要在DataSource中进行配置。如果使用EclipseLink连接池,则可以使用

property name =“eclipselink.jdbc.cache-statements”value =“true”