2013-02-11 1 views
0

예를 들어 과 같은 일대 다 매핑을 수행하는 동안 문제가 발생했습니다. 클래스 USER와 클래스 PHONE이 있으며 USER에서 PHONE으로 매핑되는 일대 다 매핑이 ​​있습니다. 나는이 같은 내 클래스를 디자인 한 일대 다 매핑을 수행하는 JPA 주석

class USER{ 

@Column(name="user_id") 
UUID user_id; 

@OneToMany 
Set<PHONE> phones; 
} 

class PHONE{ 
@Column(name="phone_id") 
UUID phone_id; 

@Column(name=user_id) 
UUID user_id; 
} 

내가 전화 클래스에 사용자의 유형을 정의하지 않고 사용할 수있는 주석이 있습니까?

"PHONE 클래스의 USER 사용자"가 마음에 드는 경우, 단방향 또는 양방향 관계를 정의 할 수 있습니다. 하지만 나는 전화를받을 때 나는 사용자 정보를 얻고 싶지 않기 때문에 PHONE 테이블에 user_id를 유지하고 싶다. 감사 ! 당신이 전화를로드 할 때 사용자를로드하지 않으려면

답변

0

것은 협회가 게으른 만들기 : 위의 코드는 자바 명명 규칙을 존중하는 것이

@Entity 
public class User { 
    ... 

    @OneToMany(mappedBy = "user") 
    private Set<Phone> phones; 
} 


@Entity 
public class Phone 
    ... 

    @ManyToOne(fetch = FetchType.LAZY) 
    private User user; 
} 

참고. 클래스는 모두 대문자 여야합니다.

+0

하지만이 두 테이블은 다른 스키마에 있으며 다른 것은 JSON 응답에서 사용자가 일부 하이퍼 링크 형식으로 전달하여 사용자가 USer 프로필로 이동할 수 있도록하려는 것입니다. – user2060910

+0

다른 스키마에 있다면 OneToMany를 사용자로부터 전화까지 가질 수 없습니다. –

관련 문제