JPA Self-Join mit JoinTable

Habe ich 1 entity-Aufruf Posten, in dem ich sein will, in der Lage, übergeordnete Elemente für Kinder. die Verwendung eine join-Tabelle zu erstellen, die eine Eltern/Kind-Beziehung. Ich habe nicht in der Lage zu bekommen, eine gute Dokumentation auf. Also, wenn jemand irgendwelche Gedanken bin ich alle Ohren.

Hier ist was ich habe... die meiste Zeit über funktioniert.

public class Item implements java.io.Serializable {
     @Id
     private Long id;

     @ManyToOne(optional = true, fetch = FetchType.LAZY)
     @JoinTable(name = "ITEMTOITEM", joinColumns = { @JoinColumn(name = "ITEMID") }, inverseJoinColumns = { @JoinColumn(name = "PARENTITEMID") } )
     private Item parent;

     @OneToMany(mappedBy = "parent", fetch = FetchType.LAZY)
     private List<Item> children;
}

Manchmal, wenn ich will, um wieder Objekte, die gebunden sind, um dieses Element der Tabelle, erhalte ich eine Fehlermeldung der folgenden:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.webflow.engine.ActionExecutionException: Exception thrown executing [AnnotatedAction@6669ff5 targetAction = com.assisted.movein.web.common.nav.NavAction@6edf74b7, attributes = map['method' -> 'handleEntry']] in state 'oneTimeChargesAndFeesView' of flow 'in-flow' -- action execution attributes were 'map['method' -> 'handleEntry']'; nested exception is Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b04-fcs (04/11/2008))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00904: "PARENTITEM_ITEMID": invalid identifier

 Error Code: 904
 Call: SELECT ITEMID, ITEMSHORTDESC, EFFENDDATE, ITEMDESC, PARENTITEM_ITEMID,  ITEMTYPECODE FROM ITEM WHERE (ITEMID = ?)
    bind => [1250]
Query: ReadObjectQuery(com.domain.Item)

Jede mögliche Hilfe würde geschätzt.

  • Hier habe ich zusammen die Tabelle Diagramm hier.
  • Der Letzte kleine Nachteil ist, ich brauche das für die Arbeit mit eclipselink und toplink-essentials. Also ich bin beschränkt sich auf die Verwendung der JPA-1.0-Zuordnungen.
InformationsquelleAutor jtoepfer | 2013-03-05
Schreibe einen Kommentar