[java] Hibernate에서 일대일(One-to-One) 연관 관계 설정하는 방법은?

Hibernate는 자바를 이용하여 영속성을 관리하기 위한 프레임워크입니다. 일대일(One-to-One) 연관 관계는 데이터베이스의 두 테이블 사이에 일대일로 매칭되는 관계를 의미합니다.

Hibernate에서 일대일 연관 관계를 설정하는 방법은 다음과 같습니다.

  1. @OneToOne 어노테이션을 사용하여 연관 관계를 정의합니다.
@Entity
@Table(name = "employee")
public class Employee {

    //...

    @OneToOne(mappedBy = "employee", cascade = CascadeType.ALL)
    private Address address;

    //...
}

@Entity
@Table(name = "address")
public class Address {

    //...

    @OneToOne
    @JoinColumn(name = "employee_id")
    private Employee employee;

    //...
}
  1. 주 테이블에서 외래 키를 가진 엔티티로의 참조를 추가합니다.

  2. 대상 테이블에서 주 테이블을 가리키는 엔티티로의 참조를 추가합니다.

  3. @JoinColumn 어노테이션을 사용하여 주 테이블과 대상 테이블 사이의 외래 키 컬럼을 지정합니다.

@OneToOne
@JoinColumn(name = "employee_id")
private Employee employee;
  1. cascade 옵션을 사용하여 주 엔티티를 저장할 때 관련된 대상 엔티티도 동시에 저장하도록 설정할 수 있습니다.
@OneToOne(mappedBy = "employee", cascade = CascadeType.ALL)
private Address address;

일대일 연관 관계 설정에는 몇 가지 방법이 있지만, 위의 예시는 일반적으로 사용되는 방법입니다. Hibernate를 사용하여 일대일 연관 관계를 설정할 때는 주의해야 할 사항이 있으므로 관련 문서 및 자세한 예제를 참조하시기 바랍니다.

관련 문서: