2

休止状態 3.6 を使用しています。

@OneToManyとの関係を使用すると@Filter、機能します。

元:

@OneToMany(mappedBy="item", cascade={CascadeType.ALL}, fetch=FetchType.LAZY)
@Filter(name="filter_detail_status")
public List<Detail> details = new ArrayList<Detail>();

しかし、 で使用すると@ManyToOne、そうではありません。

@ManyToOne(cascade={CascadeType.ALL}, fetch=FetchType.LAZY)
@JoinColumn(name="item_id")
@Filter(name="filter_item_status")
public Item item;

SQL を確認すると、フィルターが含まれていません。

@Where注釈を試してみましたが、@ManyToOneどちらも機能しません。

でフィルタリングする方法は@ManyToOne

ありがとう!!

4

1 に答える 1

0

私はフィルターを使用したことはありませんが、Criteria API を使用して、多対 1 のマッピングに関連するような、より複雑なクエリを作成しています。

于 2012-07-24T00:05:22.043 に答える