Java 多对多查询jpql
我有以下的麻烦 有一家实体分销商与实体镇的众多关系有关:Java 多对多查询jpql,java,jpa,jpa-2.0,jpql,Java,Jpa,Jpa 2.0,Jpql,我有以下的麻烦 有一家实体分销商与实体镇的众多关系有关: @Entity public class Distributor{ @ManyToMany @JoinTable( name = "GS_DISTRIBUTOR_TOWN", joinColumns = @JoinColumn(name = "CD_DISTRIBUTOR"), inverseJoinColumns = @JoinColumn(name = "CD_TOWN") )
@Entity
public class Distributor{
@ManyToMany
@JoinTable( name = "GS_DISTRIBUTOR_TOWN",
joinColumns = @JoinColumn(name = "CD_DISTRIBUTOR"),
inverseJoinColumns = @JoinColumn(name = "CD_TOWN") )
private List<Town> towns;
....
}
@实体
公共类分发服务器{
@许多
@JoinTable(name=“GS\U DISTRIBUTOR\U TOWN”,
joinColumns=@JoinColumn(name=“CD\U发行商”),
inverseJoinColumns=@JoinColumn(name=“CD_TOWN”))
私人名单城镇;
....
}
那么实体城镇也与地区有关
@Entity
public class Town{
@ManyToMany(mappedBy="towns")
private List<Distributor> distributors;
@ManyToOne
private District district;
....
}
@实体
公营城镇{
@许多(mappedBy=“城镇”)
私人名单分销商;
@许多酮
私家区;
....
}
现在,我必须过滤(使用jpql)某个地区的所有分销商。
我该怎么办
select distinct distributor
from Distributor distributor
join distributor.towns town
join town.district district
where district.name = :name
请参阅:首先,从实体城镇看,@Manytoone的关系映射不正确。 应该是:
@Entity
public class District {
.....
@ManyToOne
private Town town;
....
}
这应该是一个评论,因为它没有回答所问的问题。