2011-06-08 19 views
0

我有一个包含命名查询的注释实体。该查询包含3个位置参数标记。如何在db2动态语句缓存中解析带有参数标记的命名查询?

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

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

我试图配置的EclipseLink智慧财产

属性名= “eclipselink.jdbc.bind参数” VALUE = “假”

但在任何情况下(默认为true)的SQL -statements存储与绑定文字而不是?在DB2缓存中。

期待任何提示或答案。

谢谢。

回答

0

您需要使用,

属性名= “eclipselink.jdbc.bind参数” VALUE = “真”

这是默认的,假的会阻止语句缓存。

您还应该启用语句缓存。如果使用数据源,这需要在数据源中进行配置。如果使用的EclipseLink连接池就可以使用,

属性名=“eclipselink.jdbc.cache陈述”值=“真”

+0

它工作正常。非常感谢。 – orlando 2011-06-10 06:35:26