OneToMany ohne Join Table

Status
Nicht offen für weitere Antworten.

deamon

Bekanntes Mitglied
Hallo,

ich habe eine Klasse, die eine Menge von Objekten einer anderen Klasse enthält, also eine klassische 1:n-Beziehung. Diese Beziehung möchte ich mit Hibernate Annotations abbilden, ohne das eine Join Table erzeugt wird. Aber wenn ich @OneToMany verwende, wird immer eine Join Table erzeugt. Muss ich auf XML-Mapping ausweichen, oder kann man Hibernate das auch mit Annotationen begreiflich machen?
 

The_S

Top Contributor
Öhm, das hats bei mir noch nie gemacht.

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "xyz")

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_other", nullable = true)
 

deamon

Bekanntes Mitglied
Bei mir wird mit vergleichbaren Annotationen eine Join Table erzeugt, so ist es übrigens auch bei JPA als bisher einzige Möglichkeit vorgesehen. In der Hibernate-Referenz steht, dass OneToMany ohne Join Table bei unidirektionalen 1:n-Beziehungen nicht empfehlenswert sei. Das Argument dafür ist vermutlich Entkopplung, damit man Instanzen einer Klasse in Collections verschiedener Klassen verwenden kann, was ja mit einer einfachen Fremdschlüsselbeziehung nicht unbedingt geht.

Bloß warum steht das mit der Join Table nicht auch bei bidirektionalen 1:n-Beziehungen in der Hibernate-Referenz? Da gilt das doch genauso.
 

KSG9|sebastian

Top Contributor
Also 1:n-Referenzen werden per Standard definitiv ohne JoinTable abgebildet. Ob nun JPA oder Hibernate ist da egal, JoinTable gibt es nu mit expliziter Anweisung!
Empfohlen wird allgemein eine bidirektionale 1:n-Beziehung.Aber 1:n hat nix mit ner JoinTable zu tun....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F @OneToMany ohne Fremdschlüssel Data Tier 3
OnDemand OneToMany löscht Eintrag aus Collection Data Tier 0
OnDemand Hibernate OneToMany oder lieber OneToOne Data Tier 16
OnDemand OneToMany Composite Key Mapping Data Tier 18
D Hibernate Umsetzung multiple OneToMany Beziehung Data Tier 6
C JPA FetchType.LAZY, Relation @OneToMany und Problem mit dem update Data Tier 1
M Hibernate Reads Nulls in OneToMany Data Tier 1
J OneToMany Data Tier 9
H Hibernate Problem mit Lazy Loading bei @OneToMany Collections Data Tier 5
C JPA oneToMany/ManyToOne bidirektional verwirrung Data Tier 6
G Hibernate OneToMany und ManyToOne Objekte löschen Data Tier 13
N Löschen OneToMany Beziehung (delete-orphan) geht nicht Data Tier 2
Y @OneToMany Liste Probleme mit Identity Keys Data Tier 2
G OneToMany undirektional Data Tier 3
M HibernateTemplate löscht nicht ohne flush() Data Tier 0
G JSF + JPA ohne Datasource Data Tier 7
A Hibernate Transactionsmanagement OHNE Application-Server Data Tier 4
S Hibernate: Tabelle ohne ID-Spalte Data Tier 2
P JPA ohne persistence.xml geht das? Data Tier 2
M JPA ohne Hibernate? Data Tier 9
S JPA Self-Join gegen große Tabelle bricht irgendwann ab Data Tier 7
I JPA JOIN on JOIN Data Tier 0
N JPA JOIN mit JPQL schlägt fehl/ Einfaches Beispiel gesucht Data Tier 0
P Hibernate Mapping - Nur eine Spalte per Join aus anderer Tabelle holen Data Tier 5
T Named Query Join Data Tier 3
J JOIN in CriteriaQuery Data Tier 4
LadyMilka (Hibernate) in Criteria implizierter Join durch Subquery's Data Tier 8
A Join-Queries über mehrere Entities Data Tier 3
D Hibernate - LEFT JOIN vs. JOIN Data Tier 2
GilbertGrape Hibernate: Join vermeiden Data Tier 12
G Hibernateabfrage mit left join Data Tier 3
pusteblume inner join Data Tier 3
GilbertGrape Hibernate: Join auf Subquery? Data Tier 7
GilbertGrape Probleme mit einem Query (left join) Data Tier 2
ilumin [Hibernate] Intelligenter Hibernate Join Data Tier 15

Ähnliche Java Themen


Oben