假设我有2个实体:问题和用户,我想返回有问题和用户信息的对象。我怎样才能让Ebean连接并将结果绑定到新类? (我的意图是将有一个选择连接查询到db,而不是提取问题,然后为每个问题查询将用户信息绑定到它们。)
例如:
@Entity
class User extends Model {
String name;
@ManyToOne
@LazyLoad
List<Questions> questions;
}
@Entity
class Question extends Model {
String question;
@OneToMany
@LazyLoad
User user;
}
@????
class QuestionUserResult {
String question;
String userName;
}
Ebean.find(QuestionUserResult.class) ????? // Intent there to have "select * from question inner join user on ...... "
网上处理过滤的大多数示例。在这种情况下我不关心条件。
感谢您的回答。
答案 0 :(得分:1)
我认为你想要的是这个(我在这个例子中假设一个类型为Long的id属性):
import com.avaje.ebean.Model.Find;
import com.avaje.ebean.Model.Finder;
Find<Long, Question> finder = new Finder<Long,Question>(Question.class);
List<Question> result = finder.fetch("user.name").findList();
这将获取所有Question实例并使用UserTable进行连接,但仅检索用户的名称。 Ebean有[部分对象]的概念,可以很容易地从他们那里获取你想要的东西1