문제

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을보십시오

빠른 대답은 여러분이 다수의 관계를 가지고 있다면 다른 테이블이 필요하다는 것입니다. 일대일 또는 다중 관계가 있다면 그렇지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top