끝에 2 개의 일대일 관계를 만들면 2 개 중 하나만 저장되고 다른 하나는 null이됩니다. 당신이 MFUITVOERINGJOIN 만이 개 아이디의 저장 볼 수있는 SQL 추적에서 최대 절전 모드 다중 관계가 작동하지 않습니다.
는 3 저장해야하는 경우 : S여기에 뭔가 문제가 있습니까?
@Entity
@Table(name = "STUD1630651.MFUITVOERING")
public class Uitvoering {
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="my_entity_seq_gen")
@SequenceGenerator(name="my_entity_seq_gen", sequenceName="HIBERNATE_SEQUENCE_UITVOERING")
@Column(name = "ID")
private int id;
@Column(name = "DATUM")
private String datum;
@Column(name = "SCHOUWBURG")
private String schouwburg;
@OneToOne(cascade=CascadeType.ALL)
@JoinTable(name="MFUITVOERINGJOIN",joinColumns=
{@JoinColumn(name="UITVOERINGID")},
inverseJoinColumns={@JoinColumn(name="DIRIGENTID")})
private Dirigent dirigent;
@OneToOne(cascade=CascadeType.ALL)
@JoinTable(name="MFUITVOERINGJOIN",joinColumns=
{@JoinColumn(name="UITVOERINGID")},inverseJoinColumns=
{@JoinColumn(name="MUZIEKSTUKID")})
private Muziekstuk muziekstuk;
public Uitvoering(String datum, String schouwburg, Dirigent dirigent, Muziekstuk muziekstuk){
this.datum = datum;
this.schouwburg = schouwburg;
this.dirigent = dirigent;
this.muziekstuk= muziekstuk;
}
//GETTERS AND SETTERS
SQL 추적 :
Hibernate: select dirigent0_.ID as ID1_3_0_, dirigent0_.KLASSE as KLASSE2_3_0_, dirigent0_.LAND as LAND3_3_0_, dirigent0_.NAAM as NAAM4_3_0_, dirigent0_.RICHTING as RICHTING5_3_0_ from STUD1630651.MFDIRIGENT dirigent0_ where dirigent0_.ID=?
Hibernate: select muziekstuk0_.ID as ID1_5_1_, muziekstuk0_.GENRE as GENRE2_5_1_, muziekstuk0_.TITEL as TITEL3_5_1_, muziekstuk0_1_.INSTRUMENTID as INSTRUME2_0_1_, instrument1_.ID as ID1_4_0_, instrument1_.HOEVEELHEID as HOEVEELH2_4_0_, instrument1_.NAAM as NAAM3_4_0_ from STUD1630651.MFMUZIEKSTUK muziekstuk0_ left outer join MFMUZIEKSTUKJOIN muziekstuk0_1_ on muziekstuk0_.ID=muziekstuk0_1_.MUZIEKSTUKID left outer join STUD1630651.MFINSTRUMENT instrument1_ on muziekstuk0_1_.INSTRUMENTID=instrument1_.ID where muziekstuk0_.ID=?
Hibernate: select HIBERNATE_SEQUENCE_UITVOERING.nextval from dual
Hibernate: insert into STUD1630651.MFUITVOERING (DATUM, SCHOUWBURG, ID) values (?, ?, ?)
Hibernate: insert into MFUITVOERINGJOIN (MUZIEKSTUKID, UITVOERINGID) values (?, ?)