수색…


매개 변수

주석 목적
@ 테이블 생성기 생성자를 찾을 수있는 생성자 이름과 테이블 이름을 지정합니다.
@ 생성 값 생성 전략을 지정하고 생성자의 이름을 나타냅니다.
@ManyToOne 직원과 부서 간의 다 대일 관계를 지정합니다.
@OneToMany (mappedBy = "department") Employee 엔티티에서 @ManyToOne 어노테이션을 참조함으로써 Employee와 Department 간의 양방향 관계를 생성합니다.

일대 다 관계

일대 다 매핑은 대개 일대일 매핑의 양방향 관계입니다. 우리는 Many to one 매핑을 위해 취한 것과 동일한 예제를 취할 것입니다.

Employee.java

@Entity
public class Employee {

    @TableGenerator(name = "employee_gen", table = "id_gen", pkColumnName = "gen_name", valueColumnName = "gen_val", allocationSize = 100)
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "employee_gen")
    private int idemployee;
    private String firstname;
    private String lastname;
    private String email;

    @ManyToOne
    @JoinColumn(name = "iddepartment")
    private Department department;

    // getters and setters    
}

Department.java

@Entity
public class Department {

    @TableGenerator(table = "id_gen", pkColumnName = "gen_name", valueColumnName = "gen_val", name = "department_gen", allocationSize = 1)
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "department_gen")
    private int iddepartment;
    private String name;

    @OneToMany(mappedBy = "department")
    private List<Employee> employees;

    // getters and setters    
}

이 관계는 다음과 같이 데이터베이스에 표시됩니다. 여기에 이미지 설명을 입력하십시오.

jpa 일대 다 매핑에 대해 기억해야 할 두 가지 점이 있습니다.

  • 많은 측면에서 관계의 소유 측면입니다. 열은 그면에 정의됩니다.
  • 일대 다 매핑은 inverse side side이므로 mappedBy 요소는 역변환에서 사용해야합니다.

전체 예제는 여기에서 참조 할 수 있습니다 .



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow