Jak zdefiniować wiele warunków na złączu JPA / Ebean

Ok, powiedzmy, że mam tabele zamówień i przedmiotów. Tak opisywane są przedmioty w mojej klasie Zamówienia:

@ManyToMany(cascade=CascadeType.PERSIST)
@JoinTable(name="MY_ORDER_ITEM_BRIDGE",
joinColumns=@JoinColumn(name="bridge_order_id",referencedColumnName = "order_order_id"),
inverseJoinColumns = @JoinColumn(name="bridge_item_id", referencedColumnName="item_item_id"))
private List<Item> items;

To działa dobrze. Ale pozwólmy obrazowi, że w tabeli mostów jest data o nazwie MY_ORDER_ITEM_BRIDGE.expiration_date.

Chcę zmienić definicję, tak aby zawierała tylko elementy z datą ważności, która jeszcze nie wystąpiła.

Chcę, aby wygenerowany kod SQL wyglądał następująco:

SELECT *
FROM order o
join my_order_item_bridge b
on b.bridge_order_id = o.order_order_id
join item i
on i.item_item_id = b.bridge_item_id
where b.expiration_date < sysdate;

Używam Ebean, Play Framework 2.1.3. Dzięki za pomoc.

AKTUALIZACJA: Alternatywnie, może to być także drugi warunek w jednym z połączeń:

SELECT *
FROM order o
join my_order_item_bridge b
on b.bridge_order_id = o.order_order_id
and b.expiration_date < sysdate
join item i
on i.item_item_id = b.bridge_item_id

(Jeśli to możliwe, chciałbym to zrobić w definicji klasy nie w surowym SQL)

questionAnswers(2)

yourAnswerToTheQuestion