2012-06-13 4 views
1

나는이 세 가지 클래스 매핑을 시도 :Hibernate에서 유자격 협회의 매핑 방법 은요?

을 그리고이 오류 받고 있어요 :

Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.redex.model.Photo.labelledIn references an unknown entity: java.util.Map 

내가 내 데이터베이스에서이 자격을 갖춘 연관을 매핑 할 수 있습니까? 할 수 없다면 어떻게 다른 방식으로이 작업을 수행 할 수 있습니까?

+0

지도에는 여러 값이 들어 있습니다. 그것은 컬렉션입니다. Map에서 ManyToOne을 갖는 것은 이치에 맞지 않습니다. –

+0

OneToMany도 아니요 ... – sp00m

답변

2

사용. @JB Nizet이 말했듯이, 컬렉션과 다 대일 관계를 맺을 필요는 없습니다.

자세한 내용은 여기를 참조하십시오 : 2.2.5.3.4. Indexed collections (List, Map).

+0

두 엔티티 사이의 관계에서 '지도'를 본 적이 없습니다. 그게 효과가 있다고 확신합니까? – sp00m

+0

@ sp00m 여기를 보시오. (ch 2.2.5.3.4 색인 생성 모음 (List, Map) : http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#entity-mapping- association – tibtof

+0

맞아요, 재미 있어요!) 감사합니다. : – sp00m

0

이러한 관계는 다른 JPA 엔티티 만 참조 할 수 있습니다. 당신이 one user -> many photosone photo -> one user을 원하는 경우에, 당신은 이런 식으로 뭔가를 시도해야 :

@OneToMany 
private Map<User, Coordinate> labelledIn; 

대신 @ManyToOne

class User { 
    @OneToMany 
    private Set<Photo> photos; 
} 

class Photo { 
    @ManyToOne 
    private User user; 
} 
관련 문제