Select 一个列表中的值来自另一个列表 HQL
Select value from a list from another list HQL
我有一个 class 多对多关系。
Student class {
@ManyToMany(fetch = FetchType.EAGER)
private List<Route> routeList;
@ManyToOne
@JoinColumn(name = "idStreet", nullable = false)
private Street idStreet;
}
Route class {
@ManyToMany(mappedBy = "routeList")
private List<Student> studentList;
@ManyToMany(fetch = FetchType.EAGER)
private List<Street> streetList;
}
Street class {
private long idStreet;
}
我需要接收与学生具有相同位置的所有路由,具有 HQL 或功能。
sql 不起作用。
解决方法:
Query query = entityManager.createQuery("from Route where :code in
elements(streetList)");
query.setParameter("codigo", idStreet);
我有一个 class 多对多关系。
Student class {
@ManyToMany(fetch = FetchType.EAGER)
private List<Route> routeList;
@ManyToOne
@JoinColumn(name = "idStreet", nullable = false)
private Street idStreet;
}
Route class {
@ManyToMany(mappedBy = "routeList")
private List<Student> studentList;
@ManyToMany(fetch = FetchType.EAGER)
private List<Street> streetList;
}
Street class {
private long idStreet;
}
我需要接收与学生具有相同位置的所有路由,具有 HQL 或功能。 sql 不起作用。
解决方法:
Query query = entityManager.createQuery("from Route where :code in
elements(streetList)");
query.setParameter("codigo", idStreet);