Hi,
When using OpenJPA 2.2.0, I get an error which is really strange. OpenJPA
tries to map an entity with the table which is used to manage sequence
number (OPEN_SEQUENCE_TABLE) :
<openjpa-2.2.0-r422266:1244990 fatal general error>
org.apache.openjpa.persistence.PersistenceException: There is no row for
mapping "com.mycompany.examples.persistence.part2.model.Incident" in
sequence table "OPENJPA_SEQUENCE_TABLE", and the attempt to insert a row has
apparently failed.
at
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4918)
at
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4878)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:110)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:62)
at
org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:66)
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:756)
at
org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:493)
at
org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:469)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId(JDBCStoreManager.java:740)
at
org.apache.openjpa.kernel.DelegatingStoreManager.assignObjectId(DelegatingStoreManager.java:135)
at
org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:612)
at
org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2977)
at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:40)
at
org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1054)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2112)
at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1843)
at
org.apache.openjpa.kernel.DelegatingBroker.flush(DelegatingBroker.java:1045)
at
org.apache.openjpa.persistence.EntityManagerImpl.flush(EntityManagerImpl.java:663)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)[:1.7.0_40]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_40]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_40]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_40]
at
org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
at com.sun.proxy.$Proxy59.flush(Unknown Source)
at
com.mycompany.examples.persistence.part2.dao.impl.IncidentDAOImpl.saveIncident(IncidentDAOImpl.java:71)
Caused by: java.sql.SQLException: There is no row for mapping
"com.mycompany.examples.persistence.part2.model.Incident" in sequence table
"OPENJPA_SEQUENCE_TABLE", and the attempt to insert a row has apparently
failed.
at
org.apache.openjpa.jdbc.kernel.TableJDBCSeq$AllocateSequenceRunnable.run(TableJDBCSeq.java:911)
at
org.apache.openjpa.jdbc.kernel.TableJDBCSeq.allocateSequence(TableJDBCSeq.java:455)
at
org.apache.openjpa.jdbc.kernel.TableJDBCSeq.nextInternal(TableJDBCSeq.java:300)
at
org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:60)
... 285 more
The annotation used in the entity class is pretty simple :
@Entity
@Table(name = "T_INCIDENT")
public class Incident extends Abstract implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "INCIDENT_ID")
private long incidentId;
What could be the problem as that was working with older version of OpenJPA
?
Regards,
Charles
--
View this message in context:
http://openjpa.208410.n2.nabble.com/Issue-with-OPENJPA-SEQUENCE-TABLE-tp7585016.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.