@OneToMany ohne Fremdschlüssel

fuzuli001

Mitglied
Hallo Leute,
ich habe ien problem @OneToMany einzusetzen. ich habe folgende Tabellenstruktur.

Kunde
----------
id
.....
-----

Mitarbeiter
----------
id
.....
-----

KontaktInfo (also für telefonnummer oder EMail adresse)
-----------
id
stammdatenart(kunde oder mitarbeiter)
stammdaten_id(id von kunde bzw. mitarbeiter)
.....
-----

Jeder Kunde hat mehrere kontaktinfo und auch kontaktinfo von mitarbeiter befinden sich in gleiche Tabelle. man unterscheidet es durc satmmdatenart.
zwichen Kunde und kontaktInfo befindet keine Fremdschlüssel.
Wie kann ich jetzt diese beziehung mit @OneToMany darstellen. Ist es möglich, ein Bedingung mit OneToMany zu benutzen?

viele Grüße.
 

byte

Top Contributor
AFAIK funktioniert OneToMany auch mit ner ganz normalen Spalte, die nicht Fremdschlüssel ist. Es sollte dann aber schon ein Index drauf liegen.

Probiers doch einfach mal aus. ;)
 

fuzuli001

Mitglied
Index ist kein Problem. Aber welche Spalte werde ich dann in der Tabelle KontaktInfos nehmen?
Guck mal die Struktur von der Tabelle KontaktInfo.
diese Tabelle nicht nur für Kunde , auch für Mitarbeiter.
Wenn man so einfach @OneToMany schreibt, bekommt man die kontaktInfos von Kunde und Mitarbeiter, die gleicher Id bezitzen.

In der Tabelle KontaktInfos befindet solche Daten;

id stammdatenart stammdatenId kontaktInfo
--- ------------------- ------------------- ---------------
1 KUNDE 10 123/124578
2 KUNDE 11 123/456987
3 MITARBEITER 10 856/789654
4 MITARBEITER 10 asd@asd.com

bei diesem Fall in Kunde obejkt mit dem Id=10, kriegt man ein liste von KontaktInfos mit den Id 1-3-4

Deswegen bracht man irgend einer Weise eine Bedingung zu definieren, dass man auch Stammdatenart mit schreiben kann
 

byte

Top Contributor
Achso. Naja, Du kannst Dir ja eine Klasse KontaktInfos mappen und darüber dann die Beziehung zwischen Kunde und Mitarbeiter herstellen. Ansonsten könntest du Dir mal @JoinTable angucken, aber bezweifel dass man das mit so einem Diskriminator (stammdatenart) hinbekommt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D OneToMany ohne Join Table 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 (Hibernate) Mapping einer Datenbanktabelle mit mehreren Fremdschlüssel Data Tier 7
K hibernate manytoone beziehung und fremdschlüssel als primary schlüssel Data Tier 2
K Hibernate speichern mit nullabe fremdschlüssel erlauben Data Tier 4

Ähnliche Java Themen


Oben