Como defino várias condições em uma junção JPA / Ebean

Ok, digamos que eu tenha tabelas de pedidos e itens. É assim que os itens são descritos na minha classe Order:

@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;

Isso funciona bem. Mas vamos imaginar que existe uma data na tabela de ponte chamada MY_ORDER_ITEM_BRIDGE.expiration_date.

Quero alterar a definição para incluir apenas itens com expiration_date que ainda não ocorreram.

Então eu quero que o SQL gerado seja parecido com:

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;

Eu estou usando o Ebean, o Play Framework 2.1.3. Obrigado por qualquer ajuda.

ATUALIZAR: Como alternativa, também pode ser uma segunda condição em qualquer uma das junções:

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

(Se possível eu gostaria de fazer isso na definição de classe e não em SQL bruto)

questionAnswers(2)

yourAnswerToTheQuestion