2012-07-24 67 views
1

我使用Hibernate 3.6。休眠 - howto過濾@ManyToOne(@OneToMany工程...)

當我使用@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並且不包括過濾器。

我試過@ManyToOne上的@Where註釋,它也不起作用。

如何過濾@ManyToOne

謝謝!

回答

0

我從來沒有使用過濾器,但我使用Criteria API來創建更復雜的查詢,例如涉及多對一映射的查詢。

+0

Tks。我需要的只是一個過濾狀態。在我的情況下,將一個標準放在一個冗長的標籤上,這會使其更難以維護(onto多項 - >篩選,ManytoOne - >標準...) – renutz 2012-07-24 00:17:07