본문 바로가기

Develop/Backend 가이드

[Spring] JPA Mapping - @OneToMany / @ManyToOne

반응형

@OneToMany @ManyToOne
@OneToMany & @ManyToOne

@OneToMany / @ManyToOne

@OneToMany 는 지정하는 객체는 하나이고, 연결되는 객체가 여러 개일 때 사용합니다.

연결할 때 mappedBy 속성으로 연결할 속성을 지정할 수도 있고, targetEntity 속성으로 연결할 Entity를 지정할 수도 있습니다.

mappedBy 방식

@Entity
@Table(name="CUSTOMER")
public class Customer {
    @Id
    @GeneratedValue
    @Column(name="ID")
    public int id;

    // mappedBy 속성에 customer 속성을 연결한다.
    @OneToMany(mappedBy="customer")
    public Set<Order> orders;
}
@ManyToOne
@JoinColumn(name="CUSTOMER_ID")
public Customer customer;

targetEntity 방식

    // targetEntity 속성에 Order 클래스를 연결한다.
    @OneToMany(targetEntity=Order.class)
    public Set<Order> orders;
    @ManyToOne
    @JoinColumn(name="CUSTOMER_ID", nullable=false)
    public Customer customer;
반응형