0

我想使用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;
}

谢谢!

阿尔班

4

1 回答 1

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();

它似乎有效。

于 2013-06-26T09:49:02.603 回答