1

这是我的数据库(简化):

User
    @ManyToMany
    List<Section> sections;

    public static Model.Finder<Long,User> find = new Model.Finder<Long, User>(Long.class, User.class);

Section
    Integer year;
    @ManyToMany
    List<User> users;

    public static Model.Finder<Long,Section> find = new Model.Finder<Long, Section>(Long.class, Section.class);

使用 Ebean,我需要列出今年(2012 年)没有与他们相关的任何部分的所有用户(因此,还包括那些根本没有与他们相关的部分的用户)。

但我看不出我会怎么做。

我试过了 :

User.find.where().isNull("sections").findList(); // but it didn't worked

所以我被困在这里。我怎样才能做到这一点?

4

1 回答 1

0

你需要这样做:

String q="find * fetch sections where sections.id is null"

Ebean.createQuery(User.class,q).findList();

这将创建一个左外连接查询, find.where().IsNull("sections") 不起作用。

于 2013-06-14T18:49:34.507 回答