我正在尝试创建一个查询,该查询从当前表和列上连接的表引用WHERE中的字段。从参与表中的单个参数创建查询没有问题。
@NamedQuery(name="Participation.byUserID", query="SELECT c FROM Participation c WHERE c.userID = :userID")
这是有趣的部分......在参与实体中,我有一个加入:
@OneToOne(optional=false)
@JoinColumn(name = "EventID", insertable = false, updatable = false)
private Event event;
Event实体有一些我想在查询中使用的字段。例如,eventDate或eventType。
我想要像WHERE Participation.userID = 123 AND Event.eventType =" meeting"使用JPA查询而不是SQL。如何扩展上面的简单命名查询以包括来自连接表的比较? 到目前为止,我还没有能够使这个工作,所以任何帮助将不胜感激。
答案 0 :(得分:2)
这是一个非常简单的要求,我建议你阅读一些基本的JPA教程。
SELECT c FROM Participation c WHERE c.userID = :userID and c.event.eventType = :eventType