是什么导致" *****发生包装错误"在独立的Java JPA2.1应用程序中

时间:2015-01-14 16:06:48

标签: java hibernate db2 jpa-2.1

我有一个Java SE 1.7独立应用程序。

它使用Hibernate 4.3 final和JPA 2.1从db2 zos数据库中检索数千行。

我有一个多表来检索相关的行。

我当前正在测试的是检索父表行然后检索两个相关的子表行。 一个子表具有一对一关系,另一个具有一对多关系。

我可以从主父表中检索2000多行确定,我将这些行保存在ArrayList

然后我尝试使用我的数组列表中保存的ID来检索子表行。

这是我生成以下异常时: -

***** Out of Package Error Occurred (2015-01-14 15:55:29.935) *****


Concurrently open statements:
1. SQL string:  SELECT .....
   Number of statements:  1150
********************

我的JPA实体类之间有任何映射,例如@ManyTo@OneTo

继承我的persistence.xml文件

<persistence version="2.1"
    xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="persistence" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <class>table.class.One</class>
        <class>table.class.Two</class>
        <class>table.class.Three</class>
        <properties>
            <!-- Configuring JDBC properties -->
            <property name="javax.persistence.jdbc.url"
                value="jdbc:db2://host:port/LOCATION:retrieveMessagesFromServerOnGetMessage=true;emulateParameterMetaDataForZCalls=1;" />
            <property name="javax.persistence.jdbc.user" value="user" />
            <property name="javax.persistence.jdbc.password" value="pword" />
            <property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver" />
            <property name="hibernate.default_schema" value="schema" />
            <property name="hibernate.connection.autocommit" value="false" />

            <!-- Hibernate properties -->
            <property name="hibernate.show_sql" value="false" />
            <property name="hibernate.format_sql" value="false" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.DB2390Dialect" />
            <property name="hibernate.connection.provider_class"
                value="org.hibernate.connection.C3P0ConnectionProvider" />

            <!-- Configuring Connection Pool -->
            <property name="hibernate.c3p0.min_size" value="5" />
            <property name="hibernate.c3p0.max_size" value="20" />
            <property name="hibernate.c3p0.timeout" value="500" />
            <property name="hibernate.c3p0.max_statements" value="50" />
            <property name="hibernate.c3p0.maxStatementsPerConnection"
                value="10" />
            <property name="hibernate.c3p0.idle_test_period" value="2000" />
            <property name="hibernate.c3p0.testConnectionOnCheckout"
                value="true" />
            <property name="hibernate.c3p0.debugUnreturnedConnectionStackTraces"
                value="true" />
        </properties>
    </persistence-unit>
</persistence>

如何让JPA和/或hibernate“关闭”开放语句?

0 个答案:

没有答案