【发布时间】:2013-07-14 17:31:36
【问题描述】:
我正在尝试使用带有 Hibernate/JPA 的 RequestFactory 来调用数据库,并且我想检索包含返回的嵌入式实体的实体列表。我知道 .with() 方法适用于 .find() 等方法,但它似乎不适用于自定义查询。
我目前的做法如下:
我在实体类中使用了一个命名查询来进行查询。 (Primary Entity是Name,Embedded entity是一个Suffix entity,叫做nameSuffix)
@NamedQueries({ @NamedQuery(name = "Query.name", query = "select * from NameTable") })
然后在服务类中,我想用RequestFactory调用的.list()方法如下。
public List<Name> list() {
return emp.get().createNamedQuery("Query.name").getResultList();
}
最后,这就是我在客户端代码中进行调用的方式:
NameRequest context = requestFactory.createNameRequest();
context.list().with("nameSuffix").fire(new Receiver<List<NameProxy>>(){
public void onSuccess(List<NameProxy> response) {
String suff = response.get(0).getNameSuffix().getText();
}
});
在上面的代码中,它表示 getNameSuffix() 返回 null,这意味着 .with("nameSuffix") 不适用于 .list() 调用,就像它在标准 .find() 方法中一样。
有没有一种方法可以使用.with() 构建一个返回实体列表及其嵌入实体的调用,或者我需要以其他方式吗?如果我需要用另一种方式来做,有没有人想出一个好的方法?
【问题讨论】:
标签: sql gwt requestfactory