Hibernate 休眠删除outOfMemory

Hibernate 休眠删除outOfMemory,hibernate,Hibernate,我们在应用程序中使用Hibernate来管理数据库中的事务。当我启动一个java程序来删除数据库中的实体(最多600个实体)时,我有一个OutOfMemory。在删除实体之前,我使用其id进行查找 我认为将内存分配给所有实体会在自动刷新之前导致OutOfMemory 我想在每次删除或刷新后添加逐出指令。。。但不建议将其用于性能 这是stacktrace: Exception in thread "main" java.lang.OutOfMemoryError: Java heap spa

我们在应用程序中使用Hibernate来管理数据库中的事务。当我启动一个java程序来删除数据库中的实体(最多600个实体)时,我有一个OutOfMemory。在删除实体之前,我使用其id进行查找

我认为将内存分配给所有实体会在自动刷新之前导致OutOfMemory 我想在每次删除或刷新后添加逐出指令。。。但不建议将其用于性能

这是stacktrace:

   Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
   at java.util.Arrays.copyOf(Arrays.java:2882)
   at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:515)
at java.lang.StringBuffer.append(StringBuffer.java:306)
at java.io.StringWriter.write(StringWriter.java:77)
at oracle.jdbc.driver.ClobAccessor.getString(ClobAccessor.java:239)
at oracle.jdbc.driver.T4CClobAccessor.getString(T4CClobAccessor.java:70)
at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:397)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1515)
at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)
at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)
at org.hibernate.type.descriptor.sql.VarcharTypeDescriptor$2.doExtract(VarcharTypeDescriptor.java:61)

下面是导致错误的代码段:

@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
    public void remove(List<Configuration> listConfiguration){
        for (Configuration configuration : listConfiguration) {
            configuration = findById(configuration);
            configurationDao.remove(configuration);
        }
    }

请在执行实体删除的地方张贴代码示例为什么要添加此作为问题的答案?您应该更新您的问题并添加所需的任何信息。请删除此项。