0

次の 2 つのエンティティがあるとします。

@Entity
class A {
    @OneToMany(mappedBy = "a")
    private Collection<B> bCollection;
    ...
}

@Entity
class B {
    @ManyToOne
    @JoinColumn(name = "aId")
    private A a;

    private boolean restricted;
    ...
}

私の質問は: restricted = falseA.bCollection で B エンティティのみを取得するにはどうすればよいですか?

4

1 に答える 1

1

Hibernateフィルターを使用します。

@Filter(
        name = "restrictedFilter",
        condition="restricted = TRUE"
    )

詳細については、こちらをご覧くださいhttp://www.mkyong.com/hibernate/hibernate-data-filter-example-xml-and-annotation/

編集:私はフィルターを使用するよりもはるかに簡単な解決策に出くわしました。@Whereアノテーションを使用します:

@Where(clause="restricted = TRUE")
private Collection<B> bCollection;
于 2012-07-18T21:37:24.143 に答える