Hi,

 

until now I specified my jdbc connection in persistence.xml:

 

      <persistence-unit name="MDPU">

            <description>MD</description>

            <properties>

                  <property name="openjpa.ConnectionURL"
value="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:DB" />

                  <property name="openjpa.ConnectionDriverName"
value="oracle.jdbc.OracleDriver" />

                  <property name="openjpa.ConnectionUserName" value="user"
/>

                  <property name="openjpa.ConnectionPassword"
value="password" />

                  <property name="openjpa.Log"

 
value="DefaultLevel=TRACE,SQL=TRACE,File=x:/jpa-ejb.log,Runtime=TRACE,Tool=T
RACE" />

                  <property name="openjpa.ConnectionFactoryProperties" 

                               value="PrettyPrint=true,
PrettyPrintLineLength=128"/>

            </properties>

      </persistence-unit>

 

When using a database connection pool (within geronimo 2.1.3), everything
(query, remove, update, commit/rollback) works fine, exception Id
generation. 

This is what a get when I try to persist an entity which is declared like:

 

 

persistence.xml:

 

      <persistence-unit name="DBPU" transaction-type="JTA">

            <description>MD</description>

            <jta-data-source>dbconpool</jta-data-source>         

 

            <properties>

                  <property name="openjpa.Log"

 
value="DefaultLevel=TRACE,SQL=TRACE,File=x:/jpa-ejb.log,Runtime=TRACE,Tool=T
RACE" />

                  <property name="openjpa.ConnectionFactoryProperties" 

                               value="PrettyPrint=true,
PrettyPrintLineLength=128"/>

            </properties>

   </persistence-unit>

 

 

My entity:

 

    @Id

    @TableGenerator (name="PK_GEN_VTI",

                     table="PK_GEN",

                     pkColumnName="PK_IDENT",

                     pkColumnValue="VTI.PKEY",

                     valueColumnName="PK_VALUE")

    @GeneratedValue (strategy=GenerationType.TABLE,

                     generator="PK_GEN_VTI")

    private Long pkey;

 

è

 

<openjpa-1.0.3-r420667:677674 fatal general error>
org.apache.openjpa.persistence.PersistenceException: null

      at
org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.getConnection(AbstractJDBCSeq
.java:162)

      at
org.apache.openjpa.jdbc.kernel.TableJDBCSeq.allocateSequence(TableJDBCSeq.ja
va:366)

      at
org.apache.openjpa.jdbc.kernel.TableJDBCSeq.nextInternal(TableJDBCSeq.java:2
66)

      at
org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:60)

      at
org.apache.openjpa.util.ImplHelper.generateValue(ImplHelper.java:160)

      at
org.apache.openjpa.util.ImplHelper.generateFieldValue(ImplHelper.java:144)

      at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignField(JDBCStoreManager
.java:557)

      at
org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:466)

      at
org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:442)

      at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId(JDBCStoreMana
ger.java:541)

 

The insert statement will be executed with an null Value in pkey, which
leads to an database error, null not allowed.

 

 

Can anybody help, what’s wrong with the TableGenerator or the database pool
?

 

Thanx a lot in advance.

 

NR

Reply via email to