Thakhani Tharage
Thakhani Tharage

Reputation: 1298

WebSphere Application Server V8.0.0.5 JPA Unable to persist

I have a code that works perfectly on WAS 7 but fail when i run it in WAS 8.0.0.5. I am using JPA 2.0 with openJPA as my provider. Calling persist on my em throws a nested exception. Has anyone ever managed to write a JPA program in WAS 8.0.0.5

here is the Exception

WTRN0074E: Exception caught from before_completion synchronization operation: org.apache.openjpa.persistence.PersistenceException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=.OPENJPA_SEQUENCE_TABLE, DRIVER=3.58.81 {prepstmnt -1559269434 SELECT SEQUENCE_VALUE FROM .OPENJPA_SEQUENCE_TABLE WHERE ID = ? FOR READ ONLY WITH RS USE AND KEEP UPDATE LOCKS [params=?]}

Upvotes: 0

Views: 1628

Answers (2)

Thakhani Tharage
Thakhani Tharage

Reputation: 1298

I manage to resolve the problem by selecting Identity as my primary key generation mechanism when generating entities from tables. I also add the following in my persistence.xml.

<properties>
    <!-- OpenJPA specific properties -->
    <property name="openjpa.TransactionMode" value="managed"/>
    <property name="openjpa.ConnectionFactoryMode" value="managed"/>
    <property name="openjpa.jdbc.DBDictionary" value="db2"/>
    <property name="openjpa.jdbc.Schema" value=<SchemaName>/>
 </properties>

Upvotes: 2

Nick Roth
Nick Roth

Reputation: 3077

The SQLCODE=-204 points that something is missing. The log keeps printing THAKHANI.OPENJPA_SEQUENCE_TABLE which makes think that maybe the table is missing. You could also check to make sure the DB2 user that JPA is using has permissions to create tables and run SELECT statements on them.

Upvotes: 2

Related Questions