Ebean Finder:查找不匹配标准的项目

时间:2013-06-24 10:19:01

标签: java playframework-2.1 ebean

我想使用 Finder 在Play Framework 2.1中使用Ebean搜索项目,并找到符合标准的项目。某种left join a_table t ... where t.id is null(或者可能是where not exists)。

通过阅读Ebean的API,我找不到如何做到这一点。谷歌也没有帮助。

有可能吗? 如果是,怎么样?

举一个例子,假设我有年度订阅的人。我想找回那些没有当前订阅的人。

public class Person {
    @OneToMany(mappedBy = "person", cascade = CascadeType.ALL)
    public List<Subscription> subscriptions;
}

谢谢!

阿尔

1 个答案:

答案 0 :(得分:0)

我终于使用了com.avaje.ebean.Query

我的例子:

String q = "find * fetch subscriptions "
         + "where subscriptions.startDate > :today "
         + "   or subscriptions.endDate < :today "
         + "   or subscriptions.id is null";
Query<Person> query = Ebean.createQuery(Person.class, q);
query.setParameter("today", LocalDate.now());
return query.findList();

它似乎有效。