Problem bei persistierender Entität

8
%Vor%

Ich erhalte die folgende Ausnahme, wenn ich eine Instanz erstelle und dieselbe behalte. Es sagt Index außerhalb des Bereichs für den Parameter, also denke ich, dass es versucht, 6 Parameter (für meine 6 Felder) anstelle von 4 hinzuzufügen. Vermissen ich einige Anmerkungen?

Irgendwelche Ideen?

Ich laufe auf JBoss 4.2 und MySql

Die Fehlermeldung lautet wie folgt

%Vor%     
user397553 21.07.2010, 06:15
quelle

2 Antworten

3

Sie verwenden JPA 1.0-kompatible Zuordnungen, dh Beziehungen und redundante @Column -Felder mit denselben Spalten. @PrimaryKeyJoinColumn ist wie @JoinColumn(..., insertable = false, updatable = false) , siehe hier . Einer von ihnen muss beschreibbar sein, um korrekt zu funktionieren. Die Art, wie Sie sie zugeordnet haben, ist nicht beschreibbar.

Sie können also grundsätzlich zwei Dinge tun:

  1. Schreibrechte auf die Beziehungen setzen
  2. Schreibgeschützt auf die redundanten @Column s Felder

... und entferne es von den anderen.

Sie könnten einfach @PrimaryKeyJoinColumn durch @JoinColumn ersetzen und das sollte es tun. Es ist jedoch bekannt, dass Hibernate Probleme mit den schreibgeschützten redundanten @Column -Feldern hat, daher müssen Sie ..., insertable = false, updatable = false) aus @Column s hier entfernen. Dies ist der Grund für diese seltsame Ausnahme. Ich betrachte es tatsächlich als einen Fehler. Dies betrifft alle aktuellen Versionen von Hibernate 3.x bis einschließlich 4.0.

    
Kawu 24.10.2011 01:53
quelle
1

Das könnte ein Winterschlaffehler sein - aktualisieren Sie es auf die neueste mögliche Version.

In jedem Fall - verwenden Sie @Transient für die Felder, die nicht persistent sein sollen.

    
Bozho 21.07.2010 06:20
quelle

Tags und Links