【发布时间】:2017-09-17 06:45:08
【问题描述】:
我这里有 3 个实体 A、B 和 C。
public class A extends B{
int id;
String name;
}
///////////////////////////////////////
public class B implements Serializable{
int id;
String name;
}
///////////////////////////////////////
@Entity
@Table(name="C")
@NamedQueries({
@NamedQuery(name="C.findByA",
query="SELECT e FROM C AS e WHERE e.A = :id")
})
public class C implements Serializable {
int id;
@OneToOne
A a;
B b;
}
实体 A 和实体 B 都与实体 C 有关系。 在我的例子中,我有一个来自实体 A 的当前 ID,我想使用来自实体 C 的查询来访问实体 B。
我尝试了很多方法,但都没有帮助。 我尝试将此作为我的存储库
public QueryResult<C> findByA(Long id);
然后使用
Repo.findByA(id);
也在我的 FacadeClass 中尝试过这个
C result=(C) em.createNamedQuery("findByA").setParameter("id",id).getSingleResult();
return result;
但它不起作用。 我尝试使用 Query() 和 TypedQuery() 直接进行查询 没有工作。
谁能帮我指路或给我一个想法。 应该没那么难,但我真的很困惑。
谢谢。
【问题讨论】:
标签: java hibernate jpa named-query