Hibernate: konnte keinen Feldwert durch Reflection Setter von com.mahlzeit.datamodel.address.City.id setzen

8

Ich versuche eine City zu einer Country hinzuzufügen, indem ich eine @ManyToOne Beziehung verwende. Das Problem ist, dass ich ein org.hibernate.PropertyAccessException bekomme, während ich versuche, meine Entitäten zu speichern.

%Vor%

Anscheinend muss ich die Beziehung anders angeben oder zumindest Hibernate sagen, wo sie die Country ID finden kann. Es ist sicherlich nur eine Anmerkung Sache ..

Bitte beachten Sie: Ich habe alle Setter und Getter automatisch generiert, aber wegen der Codelänge hier auf SO entfernt.

Land.java

%Vor%

Stadt.java

%Vor%

Stacktrace

%Vor%     
Stefan Falk 30.04.2015, 15:35
quelle

1 Antwort

5

Die Definition der Zuordnung von oneToMany zwischen den beiden Klassen ist falsch.

%Vor%

Sollte sein:

%Vor%

Der @Id ist hier fehlplatziert, und Hibernate ist verwirrt, da zwei Spalten mit @Id kommentiert sind, und in Ihrer Country -Klasse sollten Sie eine Reihe von Städten deklarieren, um das Mapping abzuschließen:

%Vor%

Weitere Informationen zum One to Many-Mapping finden Sie in diesem Hibernate One Tutorial zu vielen Anmerkungen .

    
chŝdk 30.04.2015, 15:58
quelle

Tags und Links