일반적인 문제가 발생했습니다. 객체 간의 일반적인 1-N 관계를 상상해보십시오. 정확한 사용자 (U) 및 방 (R) : [U] * --- 1 [R].JPA MappedSuperclass with ManyToOne
여기에서 문제가 발생합니다. 방은 BlueRoom, RedRoom과 같은 구현이있는 추상 기본 클래스 여야합니다. 사용자 엔터티 내에서 관계를 올바르게 설정하는 방법은 무엇입니까?
public interface Room { ... }
@MappedSuperclass
public abstract class RoomSuperclass implements Room { ... }
@Entity
public class BlueRoom extends RoomSuperclass { ... }
@Entity
public class RedRoom extends RoomSuperclass { ... }
@Entity
public class User {
@ManyToOne(targetEntity = ???) // I don't know if it will be BlueRoom or RedRoom
private Room room; // ManyToOne cannot be applied on mapped superclass
}
나는이 아마 대신 @MappedSuperclass의 RoomSuperclass에 @Entity을 사용하여 해결할 수 있습니다 알고 있지만 나는 그것이 좋은 해결책이 있는지 확실하지 않습니다 하나 더 나은이 있다면.
네, 그게 해결책입니다. 당신이 무언가와 관련이 있다면,이 무언가는 실재물이어야합니다. –
답장을 보내 주셔서 감사합니다 JB, 나는 다른 사람이 대답을하고 질문을 닫으면 하루 두시간을 기다릴 것입니다. – d1x