我有一个实体,其中包含一些包含一些图像的@Lob字段。当我执行以下方法时,
entityManager.persist(myEnity);
此方法产生以下查询,因为我的表很大,所以需要很长时间才能执行。
SELECT id, img_1, img_2 FROM my_entity WHERE (ID = :1) FOR UPDATE;
我不希望执行此查询,因为我只想插入一行。
仅供参考,我有以下应用程序环境。
EJB 3.0
EclipseLink 2.3.0
JDK 1.6
WebLogic 10.3
Oracle 11g
答案 0 :(得分:0)
这是可配置的,只有当你的“eclipselink.target-database”是“Oracle8i”,“Oracle9i”,“Oracle10g”时才会这样做。
对于Oracle 11g,您应该使用“Oracle11”,此平台不会使用定位器,因为Oracle 11g中不再需要它。您可能需要使用最新版本(2.4)。使用“Oracle”作为目标也不会使用定位器。
您还可以使用自定义程序
禁用平台中的定位器使用情况platform.setShouldUseLocatorForLOBWrite(false);