문제
2 개의 테이블이 있습니다.
A
s_id(key) name cli type
B
sa_id(key) s_id user pwd
그래서 JPA에서는 다음과 같습니다.
@Entity
class A...{
@OneToMany(fetch=FetchType.EAGER)
@JoinTable( name="A_B",
joinColumns={@JoinColumn(name="a_id", table="a",unique=false)},
inverseJoinColumns={@JoinColumn(name="b_id", table="b", unique=true)} )
Collection<B> getB(){...}
}
클래스 B는 A를 언급하지 않은 기본 엔티티 클래스입니다.
바라건대 그것은 분명합니다. 내 질문은 : 간단한 가입을하기 위해 정말로 가입 테이블이 필요합니까? 이것은 간단한 Joincolumn 같은 일로 할 수 없습니까?
해결책
당신은 이것을 위해 관절이 필요하지 않습니다. 클래스 B에 클래스 A에 대한 언급이 없다면 다음으로 충분합니다.
@Entity class A...{
@OneToMany(fetch=FetchType.EAGER)
Collection getB(){...} }
대부분의 경우 양방향 관계를 원할 수도 있지만,이 경우 B는 A를 참조 할 수 있습니다.이 경우 @MappedBy 주석을 찾아야합니다. 바울이 언급했습니다.
다른 팁
아니오 당신은 onetomany에 대한 조인 테이블이 필요하지 않습니다. @mappedby Annoattion을보십시오
빠른 대답은 여러분이 다수의 관계를 가지고 있다면 다른 테이블이 필요하다는 것입니다. 일대일 또는 다중 관계가 있다면 그렇지 않을 것입니다.
제휴하지 않습니다 StackOverflow