2014-04-15 2 views
0

나는 Hibernate와 JPA에 익숙하지 않다. 엔티티에 대한 질의/필터 연관을 이해하는 데 어려움을 겪고있다. 현재 저는 2 개의 엔티티가 있습니다. 사용자가 많은 측정을 할 수 있고 측정이 사용자에게 속하는 사용자 및 측정. 이 클래스 내에서 볼 수있다 : 이것은 잘 작동하고 나는 사용자의 measurements 속성에 액세스하여 사용자의 모든 측정을 잡을 수 있어요Hibernate filter associations

@Entity 
@Table(name="users") 
@AttributeOverride(name = "id", column = @Column(name = "user_id")) 
public class User extends Model { 

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "associatedUser") 
    public List<Measurement> measurements; 

    ... 

} 

@Entity 
@Table(name="measurements") 
@AttributeOverride(name = "id", column = @Column(name = "measurement_id")) 
public class Measurement extends Model { 

    @ManyToOne 
    @JoinColumn(name = "associatedUser", referencedColumnName = "user_id") 
    public User associatedUser; 

    ... 

} 

. 그러나 사용자 측정치에 쿼리 나 필터를 적용하여 특정 데이터 다음에 측정치 만 제공하려는 경우에는 어떻게해야합니까? 이상적으로 나는 모든 측정 값을 잡고 필터를 사용하고 싶지 않습니다.

나는 @Filter 주석을 사용하는 아이디어를 가지고 놀았지만, 이것이 최선의 방법인지 아닌지 잘 모르겠습니다. 나는 또한 Hibernate Criteria API를 사용해 볼 수 있다고 믿는다.

모든 포인터는 여기 좋을 것입니다. 감사합니다

답변

1

나는 @Filter 주석을 사용하는 것이 가장 좋은 방법이라고 말하고 싶습니다.

Hibernate Filters

최대 절전 모드 기준 API 광고HQL 객체 지향 방법이다, 그래서 HQL

에서 다른 더 capabilites을 제공하지 않습니다