Community
Participate
Working Groups
On clean schema, JPAAdvancedTestModel (jpa out of container test run) throws foreign key constraint violation error for both Jconnect7 and DataDirect on Sybase 15.5. Eclipse Persistence Services - 2.4.0.v20110929-r10189 -------------------- Internal Exception: java.sql.SQLException: Foreign key constraint violation occurred, dbname = 'qa4', table name = 'CMP3_EMPLOYEE', constraint name = 'CMP3_EMPLOYEE_ADDR_ID'. Error Code: 546 Call: INSERT INTO CMP3_EMPLOYEE (EMP_ID, F_NAME, GENDER, L_NAME, PAY_SCALE, ROOM_NUM, STATUS, VERSION, START_TIME, END_TIME, START_OVERTIME, END_OVERTIME, FORMER_COMPANY, FORMER_END_DATE, FORMER_START_DATE, END_DATE, START_DATE, ADDR_ID, DEPT_ID, MANAGER_EMP_ID, HUGE_PROJ_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [21 parameters bound] Query: InsertObjectQuery(Employee: 160) Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.0.v20110929-r10189): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Foreign key constraint violation occurred, dbname = 'qa4', table name = 'CMP3_EMPLOYEE', constraint name = 'CMP3_EMPLOYEE_ADDR_ID'. Error Code: 546 Call: INSERT INTO CMP3_EMPLOYEE (EMP_ID, F_NAME, GENDER, L_NAME, PAY_SCALE, ROOM_NUM, STATUS, VERSION, START_TIME, END_TIME, START_OVERTIME, END_OVERTIME, FORMER_COMPANY, FORMER_END_DATE, FORMER_START_DATE, END_DATE, START_DATE, ADDR_ID, DEPT_ID, MANAGER_EMP_ID, HUGE_PROJ_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [21 parameters bound] Query: InsertObjectQuery(Employee: 160) at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:840) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:906) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:592) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535) at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1716) at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:253) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.insertObject(DatasourceCallQueryMechanism.java:328) at org.eclipse.persistence.internal.queries.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:162) at org.eclipse.persistence.internal.queries.StatementQueryMechanism.insertObject(StatementQueryMechanism.java:177) at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:472) at org.eclipse.persistence.queries.InsertObjectQuery.executeCommit(InsertObjectQuery.java:80) at org.eclipse.persistence.queries.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:90) at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:287) at org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:58) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844) at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:743) at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:108) at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:85) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1515) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1497) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1448) at org.eclipse.persistence.internal.sessions.CommitManager.commitNewObjectsForClassWithChangeSet(CommitManager.java:224) at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsForClassWithChangeSet(CommitManager.java:191) at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:136) at org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:3798) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1415) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1505) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitRootUnitOfWork(UnitOfWorkImpl.java:1325) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commit(UnitOfWorkImpl.java:1087) at org.eclipse.persistence.testing.models.jpa.advanced.EmployeePopulator.persistExample(EmployeePopulator.java:956) at org.eclipse.persistence.testing.tests.jpa.advanced.JPAAdvancedTestModel.setup(JPAAdvancedTestModel.java:37) at org.eclipse.persistence.testing.framework.TestModel.setupEntity(TestModel.java:417) at org.eclipse.persistence.testing.framework.TestModel.execute(TestModel.java:203) at org.eclipse.persistence.testing.framework.TestCollection.run(TestCollection.java:313) at org.eclipse.persistence.testing.framework.TestExecutor.execute(TestExecutor.java:248) at org.eclipse.persistence.testing.framework.TestModel.execute(TestModel.java:211) at org.eclipse.persistence.testing.framework.TestCollection.run(TestCollection.java:313) Caused by: java.sql.SQLException: Foreign key constraint violation occurred, dbname = 'qa4', table name = 'CMP3_EMPLOYEE', constraint name = 'CMP3_EMPLOYEE_ADDR_ID'. at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(Unknown Source)
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink