我正在尝试编写一个带有多个连接和一个子查询的NamedQuery。
这些是我的实体(我删除了大部分专栏,因此问题不会太长,读者也不需要通过不必要的专栏)
@Entity
public class progressEntry implements Serializable {
@Id
@GeneratedValue
private int id;
}
@Entity
public class KnowledgeTransfer implements Serializable {
@Id
@GeneratedValue
private int id;
@ManyToOne
private progressEntry pEntry;
}
@Entity
public class ColleagueActivity implements Serializable {
@Id
@GeneratedValue
private int id;
@ManyToOne
private KnowledgeTransfer knowledgeTransfer;
@ManyToOne
private College college;
}
@Entity
public class College implements Serializable {
@Id
@GeneratedValue
private Integer id;
private Integer studentNumber;
}
当我为此编写本机查询时,它工作正常,但我想学习如何用这个编写命名查询。
以下是我尝试过抛出异常的内容:
select progressEntry p where p.id in (select kt.progressEntryId from KnowledgeTransfer kt join ColleagueActivity cc on cc.ktid=kt.id join College c on c.id=cc.colleagueId where c.student.studentNumber= :studentNumber)
如果您希望我发布更多信息,请与我们联系。
提前致谢。