주문과 요청을 연결하는 가장 좋은 방법을 알고 싶습니다. Order
클래스는 다음과 같습니다최대 절전 모드 매핑 OneToMany + 상속
@Entity
@Table(name = "Orders")
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}
나는
@Entity
@DiscriminatorValue("Edit")
public class EditRequest extends Request {
@ManyToOne(targetEntity = Order.class, fetch = FetchType.EAGER)
@JoinColumn(name = "newOrder_id", referencedColumnName = "id")
private Order newOrder;
}
가 그리고 내가 가지고있는 또 다른 Order
속성을 취하는 Order
속성
@Entity
@Table(name = "Requests")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="request_type",discriminatorType=DiscriminatorType.STRING)
public class Request {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne(targetEntity = Order.class, fetch = FetchType.EAGER)
@JoinColumn(name = "oldOrder_id", referencedColumnName = "id")
private Order oldOrder;
}
내가 Request
의 서브 클래스가 걸리는 클래스가 다른 서브 클래스 (CancelRequest
)는 Request
wh ich doesnt는 Order
속성을 가져 간다. Order
클래스에 내가 넣어 경우
이 이해가되지 않습니다 : 주문이 유형 Collection<Request>
의 하나의 속성을 가져야한다
@OneToMany(mappedBy="oldOrder")
private Collection<Request> requests;
@OneToMany(mappedBy="newOrder")
private Collection<EditRequest> editRequests;
때문입니다.
그럼 Order
클래스에 무엇을 넣어야합니까?
주문에 유형 컬렉션의 속성이 하나만 있어야하는 이유를 설명 할 수 있습니까? –
davidxxx