我有一个带注释的实体,其中包含一个命名查询。查询包含3个位置参数标记。
在运行时,在将语句存储到DB2缓存之前设置并绑定参数。结果是缓存中充满了许多类似的SQL语句,并且每条语句都被一次又一次绑定。有没有一种方法可以执行像预准备语句这样的命名查询,从而使sql在DB2缓存中只绑定和存储一次,并带有问号?
我使用WLS10.2作为应用服务器,使用eclipselink作为持久化提供者,使用DB2作为数据库。
我尝试使用属性来配置eclipselink
属性name=“eclipselink.jdbc.bind-name=”value="false“
但在任何情况下(缺省值为true),SQL语句都与绑定的文字一起存储,而不是?在db2缓存中。
期待任何提示或答案。
谢谢。
发布于 2011-06-08 21:06:05
你需要使用,
属性参数“eclipselink.jdbc.bind-name=”value="true“
这是默认设置,如果为false,将阻止语句缓存。
您还应该启用语句缓存。如果使用DataSource,则需要在DataSource中对其进行配置。如果使用EclipseLink连接池,您可以使用
属性name="eclipselink.jdbc.cache-statements“value="true”
https://stackoverflow.com/questions/6276836
复制相似问题