One to Many bekomm es nicht hin

OnDemand

Top Contributor
Hallo zusammen,

ich versuche eine one to Many Beziehung hinzubekommen,

Tabelle products
products_id (AI, PK)
products_name
upload_2018-6-10_18-22-7.png

Tabelle attribute
attribute_id( AI, PK)
upload_2018-6-10_18-22-24.png


Jedes product soll mehrere Attribute haben
upload_2018-6-10_18-24-41.png

Wenn ich in Eclipse Create Entities from JPA aufrufe, schlägt er immer 1 : 1 vor

was hab ich falsch gemacht an der Tabelle attributes? Wenn ich von products auf attributes verlinke, bekomme ich * : 1 aber das ist falsch rum...
 

Anhänge

  • upload_2018-6-10_18-21-57.png
    upload_2018-6-10_18-21-57.png
    122,5 KB · Aufrufe: 37
  • image.png
    image.png
    122,5 KB · Aufrufe: 32

mihe7

Top Contributor
Wenn jedes Produkt mehrere Attribute haben soll, musst Du in der Datenbank in Attribute einen Fremdschlüssel definieren, der das Produkt referenziert. Du hast es umgekehrt, d. h. n Produkte können sich auf 1 Attribut beziehen.
 

mihe7

Top Contributor
@mrBrown: das wäre zu einfach :)
@NicoDeluxe: Mal ein Beispiel:
SQL:
CREATE TABLE A(
  ID INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
  BEZEICHNUNG VARCHAR(50) NOT NULL
);
CREATE TABLE B(
  ID INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  BEZEICHNUNG VARCHAR(50) NOT NULL
);
Damit hast Du zwei unabhängige Tabellen. Wenn Du jetzt willst, dass es zu einem A mehrere B geben kann, kann B etwa so aussehen:
SQL:
CREATE TABLE B(
  ID INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  A_ID INT(11),
  BEZEICHNUNG VARCHAR(50) NOT NULL,
  CONSTRAINT B_A_FK FOREIGN KEY (A_ID) REFERENCES A(ID)
);
Weil A_ID auch null sein kann, können B's auch ohne A existieren. Willst Du das nicht, musst Du der Spaltendefinition von A_ID noch eine "NOT NULL"-Einschränkung hinzufügen.
 

OnDemand

Top Contributor
vielen Dank, das hat gepasst:)

nun noch eine Frage. Angenommen ich erstelle Objekte vom Typ Product. Kann ich die Entity-Klasse nehmen und als neues Objekt initialisieren oder muss ich noch ein Pojo erstellen, welches dann wiederum auf das Entityobjekt mapped?
 

mihe7

Top Contributor
Die Entity-Klasse ist ein POJO. Sie hat ggf. nur entsprechende Annotationen.
Du kannst also hergehen und z. B. folgendes machen:
Java:
EntityManager em;
...
Product p = new Product();
em.persist(product);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
D MySQL Many to Many Tabellen in Java abbilden? Datenbankprogrammierung 4
G MongoDB - klassisches one to many Datenbankprogrammierung 2
P Many to Many mit JoinTable Datenbankprogrammierung 2
E PostgreSQL Exception too ...many clients already bei DB-Abfrage Datenbankprogrammierung 14
M Hibernate liefert mir bei many-to-one leeres Feld Datenbankprogrammierung 5
G Many to Many Datenbankprogrammierung 2
foobar ISAM error: too many files open Datenbankprogrammierung 5
rambozola mysql to many connections Datenbankprogrammierung 27
E Qie bekomm ich das hin --> doppelte Spaltenwerte Datenbankprogrammierung 3
G ich bekomm immer die exception grrrr Datenbankprogrammierung 3
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
M Meine Datenbank lässt sich mit meiner Methode nicht ändern Datenbankprogrammierung 1
P Reicht finally nicht um DB connections zu schließen in (altem) Java? Datenbankprogrammierung 4
D JOIN COLUMN wird nicht genommen Datenbankprogrammierung 2
Maxim6394 JPA / EclipseLink - n:m Beziehung wird nicht aktualisiert Datenbankprogrammierung 0
J SQLite Abfrage fehlerhaft - komme nicht weiter - please help. Datenbankprogrammierung 3
D Ich möchte dass ich nachdem man den Kommentar geschrieben hat den Kommentar in den Tabelle Bestellübersicht geschbeichert wird klappt nicht bei mir Datenbankprogrammierung 2
M Datenbank Zugraff nach Umwandlung in .jar-Datei nicht mehr möglich Datenbankprogrammierung 4
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
A Java DB Server lässt sich nicht starten Datenbankprogrammierung 3
B SQlite Datenbank, trotz Statements wurden nicht alle Zeilen erzeugt? Datenbankprogrammierung 35
T Datenzeilen werden nicht gelöscht Datenbankprogrammierung 6
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
S Das printen der Ausgabe des Oracle-SQL-Statements in der Java-Eclipse-Konsole funktioniert nicht Datenbankprogrammierung 6
S Datenbankprogrammierung in Java unter NetBeans 12 funktioniert nicht! Datenbankprogrammierung 1
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
Davee SQLite SQLite Datenbank lässt sich nicht auf anderen PCs öffnen Datenbankprogrammierung 8
Watsoon Treiber wird in Intellij nicht geladen Datenbankprogrammierung 2
Kirby.exe PreparedStatement wird nicht ausgeführt Datenbankprogrammierung 5
rafi072001 MicroServices EurekaClient findet anderern EurekaClient nicht Datenbankprogrammierung 1
D JPA gleiche methode funktioniert an einer Stelle, an der anderen nicht Datenbankprogrammierung 3
Z Datenbank Choicebox wird nicht befüllt Datenbankprogrammierung 15
pkm PostgreSQL Auf eine Spalte kann aus einem Teil der SQL-Aussage nicht zugegriffen werden Datenbankprogrammierung 3
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
C MySQL SQL Statement wir nicht ausgeführt Datenbankprogrammierung 11
N Sqlite DB mit Java wird auf Linuxsystem nicht gefunden Datenbankprogrammierung 9
pkm Tomcat Classloader findet bei JPA-Persistierung die Persistence Unit nicht. Datenbankprogrammierung 11
F Tabellen automatisch erstellen wenn sie nicht existieren Datenbankprogrammierung 6
J Netbeans 11 und Eclipse JPA 2.5 Entity wird nicht gefunden Datenbankprogrammierung 4
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
J Firebase KeepSynced funktioniert nicht Datenbankprogrammierung 0
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
R HSQLDB ResultSet update aktualisiert DB, aber nicht das ResultSet Datenbankprogrammierung 2
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
B MySQL Data Tools Plattform - "Database Connections" findet den Treiber nicht Datenbankprogrammierung 1
L SQL-Statement INSERT INTO ON DUPLICATE KEY UPDATE funktioniert nicht Datenbankprogrammierung 5
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
F H2 ObjectOptimisticLockingFailureException wird nicht geworfen Datenbankprogrammierung 0
R findet Derby.DB nicht !? Datenbankprogrammierung 5
I Datenbankverbindung Oracle DB klappt nicht - getConnection returned null Datenbankprogrammierung 8
X SQLite SQLite Programm beendet/führt nicht weiter aus Datenbankprogrammierung 12
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
Ananaskirsche Datenbanktreiber kann nicht geladen werden Datenbankprogrammierung 2
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
U Kann die Tabellen nicht finden Datenbankprogrammierung 0
M Java Datenbankanbindung funktioniert nicht Datenbankprogrammierung 4
C MYSQL kann wert nicht eintragen Datenbankprogrammierung 3
J Verbindung zu Derby Datenbank funktioniert nicht Datenbankprogrammierung 14
S MySQL MySQL will einfach nicht, bitte um Rat Datenbankprogrammierung 4
E Warum funktioniert das Erzeugen einer View nicht? Datenbankprogrammierung 1
E Warum kann mein SQL-File nicht in DB2 ausgeführt werden? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
T Tabellen von nicht mehr vorhandenen Entities werden generiert Datenbankprogrammierung 0
OnDemand Update table SET will nicht Datenbankprogrammierung 9
M DB-Zugriff funktioniert nach JAR-Erstellung nicht mehr Datenbankprogrammierung 3
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
S MySQL Speicher wird nicht freigegeben bei Datenbankabfragen Datenbankprogrammierung 6
L SQL Statement mit Switch-Case funktioniert nicht Datenbankprogrammierung 6
D MySQL Eingabe wird nicht übernommen... Datenbankprogrammierung 11
H Derby: SYSCS_UTIL.SYSCS_EXPORT_QUERY mit String Abfrage in wehre-Klausel nicht möglich Datenbankprogrammierung 3
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
L JTable-DB: Letzter wert wird nicht angezeigt. Datenbankprogrammierung 0
I Datenbank Verbindung geht nicht Datenbankprogrammierung 2
L MySQL App/Java Zugriff auf Mysql-DB funktioniert nicht Datenbankprogrammierung 1
I Kann nicht mit iiS DB Verbinden Datenbankprogrammierung 1
S Verbindungsaufbau zu MySql Datenbank nicht möglich Datenbankprogrammierung 3
D [xBaseJ] Datei kann nicht geöffnet werden Datenbankprogrammierung 2
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
K Datenbank wird bei Programmstart als .jar nicht mehr befüllt Datenbankprogrammierung 12
R Datenbankverbindung kann nicht hergestellt werden Datenbankprogrammierung 8
M Oracle Bekomme fertiges Tool nicht ans Laufen Datenbankprogrammierung 3
V Test H2-DB löscht nicht die IDs Datenbankprogrammierung 0
P PostgreSQL Java-Anwendung zählt rollbacks nicht Datenbankprogrammierung 0
M Finde einen eifachen Befehl nicht Datenbankprogrammierung 4
T MySQL Datetime wird auf Sekunden gerundet, soll es aber nicht Datenbankprogrammierung 2
P MySQL jpmdbc: Kann lesen aber nicht schreiben? Datenbankprogrammierung 3
1 MySQL Verbindung mit localhost als IP funktioniert, aber mit normaler IP nicht Datenbankprogrammierung 2
M Derby/JavaDB Neu geschriebener Eintrag per UPDATE lässt sich nicht unmittelbar abrufen Datenbankprogrammierung 2
J Datenbankeintag eines Warenkorbes funktioniert nicht Datenbankprogrammierung 4
AMStyles Kann Wert nicht speichern (MAX VALUE) Datenbankprogrammierung 9
M MySQL INSERT will einfach nicht funktionieren Datenbankprogrammierung 9
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
T SQL-Statement case when then klappt nicht Datenbankprogrammierung 4
B DB2 Hibernate findet Datenbank nicht Datenbankprogrammierung 18
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
D MySQL Treiber konnte nicht geladen werden Datenbankprogrammierung 3
P JSF + H2 + TomEE + Hibernate/JPA Datenbank wird nicht angelegt Datenbankprogrammierung 3
C Db4o speichert verschachtelte Objekte nicht vollständig Datenbankprogrammierung 8

Ähnliche Java Themen

Neue Themen


Oben