如何在Eclipselink上创建只读连接池

时间:2014-03-04 10:12:49

标签: java sql jpa eclipselink

我的Eclipselink应用程序不得修改数据库值。 我希望eclipselink在不允许的操作发生时抛出一些异常。

我找到connection-pool.read,将其添加到persistence.xml。但是,CREATEUPDATEDELETE声明不是不可执行的。

connection-pool.read | EclipseLink 2.4.x Java持久性API(JPA)扩展参考:http://eclipse.org/eclipselink/documentation/2.4/jpa/extensions/p_connection_pool_read.htm#CHDDIIFD

根据我的理解,connection-pool.default是读写连接数的属性,connection-pool.read(或写)是单独设置连接数。这是正确的理解吗?

1 个答案:

答案 0 :(得分:0)

根据此页面:http://java-persistence-performance.blogspot.com.au/2011/06/how-to-improve-jpa-performance-by-1825.html

  

优化#5 - 只读应用程序正在从中迁移   MySQL数据库到Oracle数据库。所以只能从MySQL读取。   在JPA中执行查询时,所有生成的对象都将成为   作为当前持久化上下文的一部分进行管理。这很浪费   在JPA中,跟踪托管对象的更改并注册   持久化上下文。 EclipseLink提供了一个   “eclipselink.read-only”=“true”查询提示允许持久性   要绕过的背景。这可以用于迁移,如   来自MySQL的对象不会被写回MySQL。

因此,请尝试使用eclipselink.read-only而不是connection-pool.read