我在我的 Java 项目中使用 eclipselink JPA
<persistence-unit name="...." transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<mapping-file>META-INF/tm-mapping.xml</mapping-file>
<class>...</class>
<properties>
<property name="eclipselink.jdbc.batch-writing" value="Oracle-JDBC" />
<property name="eclipselink.jdbc.cache-statements" value="true" />
<property name="eclipselink.jdbc.native-sql" value="true" />
<property name="eclipselink.cache.size.default" value="1000" />
<property name="eclipselink.persistence-context.flush-mode" value="COMMIT" />
</properties>
</persistence-unit>
为了提高性能,我使用刷新模式提交。但是当我为脚本提供更多数据时,我会内存不足,GC 会发疯。正如我在堆转储中看到的,用于插入的 Eclipse 链接缓存太大,所以当缓存很大时,可能有任何参数可以刷新插入。