Ausgabebeschreibung < /h1>
mit dem folgenden Setup < /p>
@Entity
public class ParentContainer {
@Id
@GeneratedValue
public Long id;
}
< /code>
@Entity
public class Container1 extends ParentContainer{
@OneToMany
public Set parts;
}
< /code>
@Entity
public class Container2 extends ParentContainer {
@OneToMany
public Set parts;
}
< /code>
@Entity
public class Part {
@Id
@GeneratedValue
public Long id;
}
< /code>
Hibernate erstellt eine assoziative Tabelle namens ParentContainer_Part, die einen Container1_ID und einen Container2_ID mit einer nicht null-Einschränkung speichert.create table parentcontainer_part
(
container1_id bigint not null
constraint fkha3bx76rbpaly2k96p4ay41pu
references parentcontainer,
container2_id bigint not null
constraint fkridaro57cwd6262vsbttj8069
references parentcontainer,
parts_id bigint not null
unique
constraint fkmh13giccrumjrrharog6p2rdh
references part,
primary key (container1_id, parts_id)
);
< /code>
Dies bedeutet, dass weder Container1 noch Container2 jemals initialisiert werden können, da die Nicht -Null -Einschränkung des anderen Containertyps immer stört. Es ist offensichtlich möglich, dass ein Teil nur im Satz von Container1 und nicht im Set in Container2 liegt. Container2. Tische. Jetzt sind jedoch eine Tonne Altverbindungen erforderlich, um diese Daten abzufragen, die unerwünscht sind. Wenn Hibernate jedoch keine einzelnen assoziativen Tabellen für jede Entität erstellt, sollte es eine Möglichkeit geben, entweder die übergeordneten oder die Beziehungen zu konfigurieren.
Quarkus Hibernate ORM erstellt eine fehlerhafte assoziative Tabelle, wenn zwei Entitäten mit @onetomany -Beziehungen die ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Winterschlaf: Onetomany und Onetoone für zwei Klassen in Single_table_Strategy
by Anonymous » » in Java - 0 Replies
- 2 Views
-
Last post by Anonymous
-
-
-
Winterschlaf: Onetomany und Onetoone für zwei Klassen in Single_table_Strategy
by Anonymous » » in Java - 0 Replies
- 2 Views
-
Last post by Anonymous
-