kodo.util.FatalUserException: Attempt to set column "CHILD.parentId" to two different values: (class java.lang.Integer)"0", (class java.lang.Integer)"2,503" This can occur when you fail to set both sides of a two-sided relation between objects, or when you map different fields to the same column, but you do not keep the values of these fields in synch.

Oracle Community | 3004 | 1 decade ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    pre-assigning sequence-assigned PK values

    Oracle Community | 1 decade ago | 3004
    kodo.util.FatalUserException: Attempt to set column "CHILD.parentId" to two different values: (class java.lang.Integer)"0", (class java.lang.Integer)"2,503" This can occur when you fail to set both sides of a two-sided relation between objects, or when you map different fields to the same column, but you do not keep the values of these fields in synch.
  2. 0

    field representing a FK

    Oracle Community | 1 decade ago | 3004
    kodo.util.FatalUserException: Attempt to set column "ADDRESS.P_ID" to two different values: (null)"null", (class java.lang.Long)"1'750" This can occur when you fail to set both sides of a two-sided relation between objects, or when you map different fields to the same column, but you do not keep the values of these fields in synch.

    Root Cause Analysis

    1. kodo.util.FatalUserException

      Attempt to set column "CHILD.parentId" to two different values: (class java.lang.Integer)"0", (class java.lang.Integer)"2,503" This can occur when you fail to set both sides of a two-sided relation between objects, or when you map different fields to the same column, but you do not keep the values of these fields in synch.

      at kodo.jdbc.sql.PrimaryRow.setObject()
    2. kodo.jdbc.sql
      RowImpl.getSQL
      1. kodo.jdbc.sql.PrimaryRow.setObject(PrimaryRow.java:215)
      2. kodo.jdbc.sql.RowImpl.flushJoinValues(RowImpl.java:267)
      3. kodo.jdbc.sql.RowImpl.flushForeignKey(RowImpl.java:189)
      4. kodo.jdbc.sql.RowImpl.setForeignKey(RowImpl.java:158)
      5. kodo.jdbc.sql.PrimaryRow.generateSQL(PrimaryRow.java:238)
      6. kodo.jdbc.sql.RowImpl.getSQL(RowImpl.java:681)
      6 frames
    3. kodo.jdbc.runtime
      UpdateManagerImpl$SQLComparator.compare
      1. kodo.jdbc.runtime.UpdateManagerImpl$SQLComparator.compare(UpdateManagerImpl.java:773)
      1 frame
    4. Java RT
      Collections.sort
      1. java.util.Arrays.mergeSort(Arrays.java:1278)
      2. java.util.Arrays.sort(Arrays.java:1219)
      3. java.util.Collections.sort(Collections.java:155)
      3 frames
    5. kodo.jdbc.runtime
      JDBCStoreManager.flush
      1. kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:437)
      2. kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:192)
      3. kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:95)
      4. kodo.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:609)
      4 frames
    6. kodo.runtime
      DelegatingStoreManager.flush
      1. kodo.runtime.DelegatingStoreManager.flush(DelegatingStoreManager.java:153)
      1 frame
    7. kodo.datacache
      DataCacheStoreManager.flush
      1. kodo.datacache.DataCacheStoreManager.flush(DataCacheStoreManager.java:507)
      1 frame
    8. kodo.runtime
      PersistenceManagerImpl.flush
      1. kodo.runtime.DelegatingStoreManager.flush(DelegatingStoreManager.java:153)
      2. kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1159)
      3. kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1042)
      4. kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:812)
      4 frames