我想使用 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;
}
谢谢!
阿尔
答案 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();
它似乎有效。