Frage zu Hibernate und M:N Beziehung

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Guten Morgen,

ich versuche gerade eine M_N Beziehung mit Hibernate herzustellen, was im Prinzip auch kein Problem darstellt.
Angenommen ich habe eine Tabelle "News" und eine Tabelle "Zeitung" und möchte diese beiden miteinander verknüpfen, erstelle ich eine Zwischentabelle in der die beiden Ids der jeweiligen Objekte vorhanden sind, soweit ist alles klar.

Was aber muss ich tun, wenn ich in dieser Zwischentabelle noch zusätzliche Felder haben möchte wie z.B. "Zeichenlänge" oder sonstige Daten die ausschliesslich auf dieser einen Beziehung beruhen?

Ich hoffe ihr habt verstanden was ich meine und könnt mir helfen ...
 

byte

Top Contributor
Die Assoziationstabelle ist ja nur dafür da, die Datensätze untereinander zu referenzieren. Welchen Sinn sollen da diese zusätzlichen Spalten haben? Du kannst da natürlich per SQL weitere Spalten einfügen, wüsste aber nicht, wozu das gut sein sollte.
 
G

Guest

Gast
Das ich in die Tabelle per SQL weitere Spalten einfügen kann ist klar, nur wie bekomm ich die anschliessend in meine gemappten Objekte rein ist die Frage?! ;)

Einfaches Beispiel warum das Sinn macht wäre z.B. folgendes:

Du willst dir eine Art Bewertungsprogramm für z.B. Pizzas bei verschiedenen Bringdiensten schreiben.
Also legst du eine Tabelle mit verschiedene Pizzas an die du bei jedem Bringdienst testen willst (Salami, Thunfisch, Diabolo) und eben eine Tabelle für die Bringdienste.

Die Bewertung der Pizza kann meiner meinung nach nur in einer zwischentabelle stattfinden wo die Ids der Pizza und des Bringdienstes gehalten wird und zusätzlich eben z.B. der Integer von 1-6 für die Bewertung.

Zumindest wäre mir keine andere Möglichkeit bekannt dies so komfortabel lösen zu können ...
 

byte

Top Contributor
Dann machst Du Dir eine Klasse Bewertung, die eine Referenz auf eine Pizza und einen Bringdienst hält und zusätzlich ein Feld für den Punktwert der Bewertung hat.
Assoziationstabellen (JoinTable) ist nur dafür da, um z.B. in Deinem Fall Pizzen und Bringdiensten in Verbindung zu setzen.
 

Sergeant_Pepper

Bekanntes Mitglied
@byto:
was spricht vom Design her dagegen, in einer Verknüpfungstabelle Attribute unterzubringen, die für die jeweilige Beziehung relevant sind?
 
G

Guest

Gast
@Seargent_Pepper:
Offensichtlich in jedem Fall das hibernate dies nicht kann ^^

Grüße übrigens von eionem Hannoveraner zurück an einen selbigen .-P
 

byte

Top Contributor
Theoretisch spricht da nix gegen, aber für eine Beziehung sind nunmal keine Informationen relevant, ausser die beiden Foreign Keys. Genau das legt Hibernate halt an, wenn Du ManyToMany per JoinTable mapst.
 

Sergeant_Pepper

Bekanntes Mitglied
byto hat gesagt.:
Theoretisch spricht da nix gegen, aber für eine Beziehung sind nunmal keine Informationen relevant, ausser die beiden Foreign Keys.
Kann man das so pauschal sagen? Ich habe vor längerem mal zu Schulungszwecken eine Film-Datenbank angelegt, da waren Filme und Schauspieler m:n-weise verknüpft. Bei der Verknüpfung war auch die Gage gespeichert.

byto hat gesagt.:
Genau das legt Hibernate halt an, wenn Du ManyToMany per JoinTable mapst.
Hibernate ist für mich ganz neu, mein Posting bezog sich eher auf den reinen DB-Aspekt.
 

byte

Top Contributor
Sergeant_Pepper hat gesagt.:
byto hat gesagt.:
Theoretisch spricht da nix gegen, aber für eine Beziehung sind nunmal keine Informationen relevant, ausser die beiden Foreign Keys.
Kann man das so pauschal sagen? Ich habe vor längerem mal zu Schulungszwecken eine Film-Datenbank angelegt, da waren Filme und Schauspieler m:n-weise verknüpft. Bei der Verknüpfung war auch die Gage gespeichert.
Ja das kann man so schon sagen. Du brauchst halt nichts anderes als die beiden FKs, um zwei Datensätze in Beziehung zueinander zu bringen. Ob man nun noch weitere Daten in so einer Tabelle speichert oder nicht, muss sich wohl jeder selbst überlegen. Ich bin kein DB-Experte. Für mich steht das Java-Objektmodell im Vordergrund. Mit diesem fange ich auch an und nicht mit der Datenbank. Wenns geht, lass ich das DB-Schema von Hibernate generieren.
Wenn es zusätzliche Informationen gibt, die für eine Beziehung zweier Objekte relevant sind, dann kapsel ich das schon alleine auf Java-Seite in einer eigenen Klasse. Und wenn ich einfach nur eine Assoziation zw. zwei Objekten habe, dann mappe ich das und Hibernate legt selbstständig bei Bedarf den JoinTable an.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Hibernate - spezielle Frage, n zu n Beziehung Datenbankprogrammierung 11
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
V Frage zu Hibernate-Mapping Datenbankprogrammierung 11
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
B Hibernate mit MySql - Verständniss Frage Datenbankprogrammierung 8
M Frage zu Bundesliga-DB Datenbankprogrammierung 1
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
B Frage bei einer SQL Query Datenbankprogrammierung 3
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
M Frage zu JSON Datenbankprogrammierung 16
P Frage zu Connection.close() Datenbankprogrammierung 4
R MySQL Frage zum Anlegen von Artikeln inkl. Verbindungen Datenbankprogrammierung 0
M Grundlegende Klassen-Design Frage Datenbankprogrammierung 0
P MySQL Frage zur Einbindung in ein Java Projekt Datenbankprogrammierung 2
I Frage zu Datenmodellierung Datenbankprogrammierung 3
J Normalisierung - Allgemeine Frage zur 3. Normalform (Eventuelle Abhängigkeit) Datenbankprogrammierung 4
F Normalisierung Datenbank Frage Datenbankprogrammierung 5
J Frage zu ResultSet Datenbankprogrammierung 3
W Frage zur Datenbankwahl bei Umstieg auf Java Datenbankprogrammierung 7
D Frage zu DISTINCT in SQL Datenbankprogrammierung 5
K Frage zur Datenprotokollierung bei DML Anweisungen Datenbankprogrammierung 3
K Frage zu SQL Datenbankprogrammierung 2
K Frage zu Datenbankmodellierung Datenbankprogrammierung 15
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
L Frage zu UpdateQuery Datenbankprogrammierung 12
8 MySQL Kurze Frage zur Sicherheit Datenbankprogrammierung 9
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
D Frage zu Ausführungsmöglichkeiten von SQL Befehlen Datenbankprogrammierung 13
D Frage zu SQL Syntax Datenbankprogrammierung 17
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
N Allg. Frage zur Datenbankverbindung Datenbankprogrammierung 2
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
O eigentlich simple SQL Frage Datenbankprogrammierung 2
M Frage zu folgender Query in EJB-QL Datenbankprogrammierung 4
H JBoss: Frage zur Datasource in der ...-ds.xml Datenbankprogrammierung 4
F Frage zu Prepared Statement Datenbankprogrammierung 2
U Frage zum Erfassen von hinzufügten und entfernten Objekten Datenbankprogrammierung 9
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
F EclipseLink persistence.xml Frage Datenbankprogrammierung 11
N Frage zur Sicherheit von Konfigurationsdatei Datenbankprogrammierung 4
H performance frage Datenbankprogrammierung 9
G Frage zum Insert-Statement Datenbankprogrammierung 2
Antoras Design-Frage: Datenzuordnung zu verschiedenen Accounts Datenbankprogrammierung 2
T HSQL: verständnis Frage Datenbankprogrammierung 2
T Java JPA Frage bzgl. DISTINCT Datenbankprogrammierung 2
G Frage zu connection? Datenbankprogrammierung 9
A Frage zu SQL-Abfrage Datenbankprogrammierung 2
G Frage zu SQL "WHERE IN (1, 2, 3. , N)" Datenbankprogrammierung 8
G Allgemeine Frage zu Datenbanklimits Datenbankprogrammierung 27
G allgemeine JDBC-Connection Frage Datenbankprogrammierung 2
K HQL Frage Datenbankprogrammierung 10
D kurze Frage zu einem Query Datenbankprogrammierung 6
N Kleine Frage zu Connection Pooling mit DataSource Datenbankprogrammierung 2
T Update-Frage Datenbankprogrammierung 11
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
P Frage zu Performancetest einer Datenbank Datenbankprogrammierung 3
W Frage zum Umgang mit DB-Daten Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
L frage zu mySQL Datenbankprogrammierung 4
C Mal ne Frage an die Experten Datenbankprogrammierung 4
G Frage zum Datenbankdesign Datenbankprogrammierung 5
J DB Verbindung Design Frage Datenbankprogrammierung 5
M Datenbankanbindung in Java : Newbie-Frage Datenbankprogrammierung 2
U Grundsätzliche Frage Datenbankprogrammierung 4
S Frage zu INSERT Datenbankprogrammierung 2
X Wieder mal ne Frage ... Datenbankprogrammierung 15
torresbig MySQL hibernate - could not resolve entity class ... (Datenbank Anfänger) Datenbankprogrammierung 19
I Hibernate Predicate mit IN Clause "Unaware how to convert value to requested type" Datenbankprogrammierung 0
T org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ..., could not initialize proxy - no Session Datenbankprogrammierung 5
T Realisierungsvorschläge Hibernate SQL Datenbankprogrammierung 1
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Tabellen-Erzeugung via Hibernate ignoriert 'CascadeType' settings Datenbankprogrammierung 1
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
damike84 Hibernate: persistieren eines Graphen Datenbankprogrammierung 2
N Hibernate Entitäten bei Selects aus 2 Tabellen Datenbankprogrammierung 7
OnDemand Hibernate Realationen Datenbankprogrammierung 7
OnDemand Hibernate ManyToOne Datenbankprogrammierung 5
D Hibernate oneToMany Syntaxfehler Datenbankprogrammierung 3
D Hibernate Error: NoSuchMethodError Datenbankprogrammierung 4
D hibernate mit postgreSQL Datenbankprogrammierung 3
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
OnDemand Hibernate OneToMany ManyToOne Datenbankprogrammierung 61
J Hibernate One-To-One mit Where Klausel Datenbankprogrammierung 6
L hibernate.cfg.xml Could not parse configuration Datenbankprogrammierung 0
L H2 Hibernate definieren? Datenbankprogrammierung 1
T JPA Mapping Enum (hibernate 5) Datenbankprogrammierung 1
H In hibernate.cfg.xml schreiben und auslesen Datenbankprogrammierung 0
K Hibernate: Ein Fluch Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben