sql >> Database >  >> RDS >> Oracle

Hoe verwijs ik naar de ID van een ouder in de ID van een kind met JPA/Hibernate?

De toewijzingen moeten als volgt zijn:

@Entity
@Table(name = "MY_SCHEMA.MY_TABLE_A")
@Component
public class FirstClass implements Serializable {

    @Id
    @SequenceGenerator(name = "MY_SEQ", sequenceName = "MY_SCHEMA.MY_SEQ", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MY_SEQ")
    @Column(name = "MY_ID")
    private Long myId;

    @OneToOne(mappedBy = "firstClass", cascade = CascadeType.ALL)
    private SecondClass secondClass;
}

@Entity
@Table(name = "MY_SCHEMA.MY_TABLE_B")
@Component
public class SecondClass implements Serializable {

    @Id
    @JoinColumn(name = "MY_ID", referencedColumnName = "MY_ID")
    @OneToOne
    private FirstClass firstClass;
}

Als de Cascade-optie is ingesteld, hoeft u alleen maar aan te roepen om firstClass op te slaan:de bijbehorende secondClass wordt automatisch behouden - ervan uitgaande dat u beide zijden van de relatie in uw in-memory-model instelt, d.w.z.

firstClass.setSecondClass(secondClass);
secondClass.setFirstClass(firstClass);


  1. Hoe voeg ik een cluster toe aan een samengestelde sleutel?

  2. Ondersteunt MS-SQL in-memory tabellen?

  3. mySQL:drie tabellen samenvoegen - hoe?

  4. Hoe kan ik JDBC gebruiken om schema's van de ene database naar de andere te kopiëren zonder Apache DDLUtils te gebruiken?