Mapping einer 1:n in Hibernate

Status
Nicht offen für weitere Antworten.

number8

Aktives Mitglied
Hallo. Gut, das ist ja an sich kein Thema. Ich habe:

In der Klasse Person
Code:
@ManyToOne(optional=false)
@JoinColumn(name="addr_ID")
private Address _Address;
und in der Klasse Address
Code:
@OneToMany(mappedBy="_Address")
private List<Person> _Personen = new ArrayList<Person>();
Durch den Code lasse ich mir die Tabellen von Hibernate generieren.

Damit habe ich u.a. ja in der Klasse Person ein komplettes Address-Objekt.
Kann man es irgendwie hinbiegen, daß in Person anstatt des Adress-Objektes
nur die ID der entsprechenden Adresse abgelegt wird und trotzdem die
Tabellen mit den Beziehungen usw. ordentlich generiert werden etc.?
 
G

Guest

Gast
Code:
@ManyToOne(optional=false) 
@JoinColumn(name="addr_ID") 
private Long _AddressId;

@OneToMany(mappedBy="_AddressId") 
private List<Person> _Personen = new ArrayList<Person>();
 

number8

Aktives Mitglied
Ich kann es momentan nicht testen (habe sowas aber glaube ich schonmal probiert), aber kommt da nicht immer der Fehler: ...references an unknown entity: java.lang.Long?
 
G

Guest

Gast
Ups, targetEntity fehlt noch. So geht es aber auf jeden Fall.
Code:
@ManyToOne(targetEntity=Address.class, optional=false)
@JoinColumn(name="addr_ID") 
private Long _AddressId;
 
G

Guest

Gast
Übrigens, falls der Grund dafür, warum du es so machen möchtest, der ist, dass du bei List-Queries die Adressen
nicht gleich mit laden möchtest, dann kannst du das gleiche mit FetchType.LAZY erreichen.
Code:
@ManyToOne(optional=false, fetch=FetchType.LAZY) 
@JoinColumn(name="addr_ID") 
private Address _Address;
 

number8

Aktives Mitglied
Nee, die Lazy ist nicht der Grund.
Ich habe es mal probiert und bekomme:

could not set a field value by reflection setter of de.beans.Person._AddressID
...
...
Caused by: java.lang.IllegalArgumentException: Can not set java.lang.Long field de.beans.Person._AddressID
to
de.beans.Address
 

number8

Aktives Mitglied
Na folgendes Problem - ich habe eigentlich eine rekursive Beziehung auf Person (und wollte das so lösen wie oben angesprochen, also nur die IDs der anderen Personen abbilden,mit der die Person in Beziehung steht). Das Resultat, also ne Person, soll als Rückgabe aus nem Jax-ws zur Verfügung stehen. Nur leider hat der xml-parser da Probleme, da angeblich eine entity/elemenknoten nicht richtig geschlossen ist. Ich vermute, daß <person> auf grund der rekursiven Beziehung ein/mehrere <person> enthält und noch nicht geschlossen wurde (also <person>...<person>). Oder?
 
G

Guest

Gast
number8 hat gesagt.:
Nee, die Lazy ist nicht der Grund.
Ich habe es mal probiert und bekomme:

could not set a field value by reflection setter of de.beans.Person._AddressID
...
...
Caused by: java.lang.IllegalArgumentException: Can not set java.lang.Long field de.beans.Person._AddressID
to
de.beans.Address
Wo wird der Fehler ausgelöst? Doch nicht bei einer Query?
 

number8

Aktives Mitglied
Ich glaube ich lass das mit der ID. Habe mal einen Workaround gemacht und bekomme trotzdem den xml-error. Danke für eure Antworten. Vor allem Gast :wink:

Ich habe hier (JAX-WS 2.1.4, siehe oben):

javax.xml.stream.XMLStreamException: ParseError at [row,col]: [1,95]
Message: XML document structures must start and end within the same entity.

kann man den xml/soap-kram irgendwie anzeigen lassen?
Is ne Liste innerhalb des Personen-Objektes, die dieses Prob verursacht.
 
G

Guest

Gast
Ich kann mich da so wage erinnern, dass JAX-WS mit Collections, insbesondere solchen mit Generics,
nichts anfangen konnte. Man musste es zu Arrays mappen. Ich weiss nicht, ob es immer noch gilt.
 
G

Guest

Gast
Monitoring geht in Eclipse, aber WireShark ist dazu perfekt geeignet.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S (Hibernate) Mapping einer Datenbanktabelle mit mehreren Fremdschlüssel Data Tier 7
A JPA Postgresql/JPA/EclipseLink - Mapping Fehler? Data Tier 7
OnDemand OneToMany Composite Key Mapping Data Tier 18
G Hibernate Collection Mapping - Fehler beim Updaten der DB Data Tier 0
P Hibernate Mapping - Nur eine Spalte per Join aus anderer Tabelle holen Data Tier 5
R mapping-file für hibernate zum Überschreiben der Annotationen Data Tier 7
M Problem mit @Temporal Mapping und SQL Server Data Tier 3
H Hibernate - Mapping für Enumeration Data Tier 1
Kessi Hibernate Mapping-File vs. Annotations Data Tier 4
M Hibernate Mapping mal anders Data Tier 2
N Hibernate boolean mapping Data Tier 7
M JPA: Mapping von bestehender DB Data Tier 2
byte Hibernate: duplicate property mapping Data Tier 3
F OR-Mapping Data Tier 4
L JSP Mit Java-Daten von einer Webseite zu ziehen? Data Tier 5
D JPA Entities mit Proxies ausserhalb einer Session (Lazy Loading) Data Tier 0
E JPA Session.delete einer Entity wird nicht ausgeführt Data Tier 2
R NPE beim Persistieren einer Entität Data Tier 6
T JPA Aufbau einer Webapplikation mit JEE Data Tier 2
C Businessmethoden in einer Entität zum bidirektionalen Speichern? Data Tier 2
aze Hibernate Entfernen aus einer Collection soll zum Entfernen einer Beziehung führen Data Tier 3
M JPA Query: Kann ich Objekte einer Oberklasse über Objekte der Unterklassen abfragen? Data Tier 5
G JPA/ Eclipselink: (Alte) Kopie einer Entity? Data Tier 6
M EJBQL: Item aus einer Collection(ManyToOne) löschen Data Tier 7
T Hibernate/Spring JPA: eigene ID generieren Data Tier 5
Avalon @ManyToOne Hibernate oder JPA? Data Tier 5
D Hibernate Hibernate mit MariaDB Data Tier 1
ToBJo Hibernate Glassfish deploy mit Hibernate schlägt fehl Data Tier 1
C JPA Hibernate Map<String,String> richtig mappen Data Tier 2
S JPA Hibernate Search & EclipseLink (oder OpenJPA) Data Tier 0
R JPA Probleme mit Wechsel von EclipseLink auf Hibernate Data Tier 4
ARadauer Hibernate Entität readonly laden... Data Tier 1
G Hibernate SQL in Hibernate: Keine Parameter mit Index? Data Tier 2
P Wildfly + Hibernate + SQL Server Data Tier 0
E JPA Hibernate Query mit Timestamp hat seltsames Verhalten Data Tier 1
M Eclipse 4 RCP Hibernate Problem Data Tier 3
C Hibernate ProgressBar updaten mit Daten aus Hibernate Data Tier 4
B Hibernate und MySQL testen Data Tier 8
I Hibernate HQL: generiertes SQL ausgeben Data Tier 1
R Hibernate Hibernate und Logback Data Tier 2
R Hibernate möchte Schema zwei mal undeployen Data Tier 2
F Hibernate Hibernate / JPA Data Tier 4
E Hibernate: Session vs EntityManager Data Tier 3
C Hibernate Hibernate Code Generation Data Tier 3
S Hibernate Mehrfachverbindung mit Hibernate Data Tier 3
M Hibernate Einstiegsfrage Data Tier 5
M Exception in thread "main" org.hibernate.MappingException: java.lang.ClassNotFoundException: Message Data Tier 4
S Hibernate Einstieg in Hibernate 3.2 sinnvoll? Data Tier 8
P JPA Eigene Vererbungsstrategie mit JPA / Hibernate Data Tier 2
J Hibernate Problem bei Master-Detail-Tabellen Data Tier 5
Y Jboss seam-hibernate-jpa Data Tier 5
RaoulDuke Hibernate Map<String,String> mit Annotations mappen Data Tier 2
M Hibernate Hibernate with GWT Data Tier 4
C Hibernate JPA mysql db erstellen Data Tier 4
M Hibernate Hibernate liest Daten zu oft aus! Data Tier 16
pg1337 Hibernate Fragen Data Tier 11
D Probleme bei Left Joins mit Hibernate createCriterias() Data Tier 2
D Hibernate probleme mit Verlinkungstabelle Data Tier 4
2 Hibernate Annotations Data Tier 7
G Hibernate select update no wait Data Tier 8
Z Hibernate: Many-To-Many nur eine bestimmte Spalte Data Tier 3
K Hibernate - Envers - Erzeugung der SQL Skripte Data Tier 4
G Hibernate 1:n Beziehung mit Vererbung Data Tier 5
D Hibernate-Criteria-API (Projections und MAX-Funktion) Data Tier 6
L Hibernate: failed to lazily initialize a collection of role Data Tier 3
S Hibernate hibernate.cfg.xml Data Tier 14
D JPA vs Hibernate.cfg und Entitymanager Data Tier 6
R Hibernate Criteria Abfrageproblem Data Tier 2
A Hibernate und jdbc zusammen Data Tier 4
D Mit Hibernate aus JUnit ein DB-Schema erzeugen Data Tier 6
S [Hibernate] No Persistence provider for EntityManager Data Tier 5
B Problem mit org.hibernate.LazyInitializationException Data Tier 11
G Hibernate HQL und Interface Data Tier 4
G JSF Hibernate no session or session was closed Data Tier 12
T JPA2/Hibernate: Many-to-Many-Relation wird u.a. beim löschen nicht aktualisiert Data Tier 14
X [Hibernate] Zusammengesetzte Entities möglich? Data Tier 7
N Hibernate Fake? Data Tier 2
S Problem beim Insert mit Hibernate Data Tier 9
V Hibernate Projection Data Tier 2
T org.hibernate.impl.SessionFactoryImpl Memory Leak Data Tier 10
G Hibernate Composite key Data Tier 11
X [Hibernate] Connection Pool - MinSize ? Data Tier 2
R Hibernate Criteria OR Data Tier 2
T hibernate/jpa abgefragte Listen immer mit Null-Werten gefüllt Data Tier 8
X [Hibernate] Anderen Connection Pool - Vorschläge? Data Tier 3
ARadauer Hibernate DDL Loggen Data Tier 6
G Hibernate abfrage Collection Data Tier 3
X [Hibernate] ReverseEngineering - Eigene Strategy verwenden? Data Tier 3
R Hibernate Criteria .group größer als Data Tier 5
R Hibernate daten laden Data Tier 7
H [Hibernate]1:1 Beziehung Data Tier 8
H [Hibernate]No CurrentSessionContext configured! Data Tier 6
X [Hibernate] Lässt sich die Dauer eines SELECTs loggen? Data Tier 4
R Hibernate n:n Relationtabelle mit Date Data Tier 3
H [Hibernate] Unknown Entity Data Tier 3
H [Hibernate] Configuration Data Tier 3
C [Hibernate] Generierung von hbm.xml to Java Data Tier 4
lumo Eclipse & JPA & Hibernate & Derby Data Tier 5
J Zufallsauswahl aus ResultList bei JPA(Hibernate) / Performance Data Tier 3
M Hibernate: Datum 0001-01-01 erzeugt null-Datum Data Tier 4

Ähnliche Java Themen

Neue Themen


Oben