这是我在这些网站上的第一个问题,所以请原谅我的不专业。
我使用带有SIENA模块(带有 GAE)的 playframework,我遇到了以下问题: 给定 3 个实体:
public class Meeting extends Model{
@Id
public Long id;
public String place;
@Owned
Many<MeetingUser> users;
.
.
.
}
public class User extends Model{
@Id
public Long id;
public String firstName;
public String lastName;
@Owned
Many<MeetingUser> meetings;
.
.
.
}
public class MeetingUser extends Model{
@Id
public Long id;
public Meeting meeting;
public User user;
.
.
.
public User getUser(){
return Model.all(User.class).filter("id", user).get();
}
public Meeting getMeeting(){
return Model.all(Meeting.class).filter("id", meeting).get();
}
}
例如,我列出了一个会议及其所有用户:
public static void meetingInfo(Long meetingId){
Meeting meeting = Models.all(Meeting.class).filter("id",meetingId);
List<MeetingUser> meetingusers = meeting.asList();
List<User> users = new ArrayList<User>();
for(MeetingUser mu: meetingusers){
users.add(mu.getUser());
}
render(users);
}
这已经完成(这里有更好的方法吗?)但是当涉及到过滤(特别是对许多字段的动态过滤)时,我不能在 MeetingUser 上使用查询的过滤方法,因为我需要过滤 MeetingUser 的字段(firstName )。订购也会出现同样的问题。我需要解决这两个问题。
我希望我的问题很清楚,我很感激这里的任何帮助。