我需要用hibernate做这个查询 SQL
SELECT *
FROM objectif AS ob, objectifs_intervenants AS oi
WHERE ob.collaborateurId =2
AND ob.objectifId = oi.objectifId
AND oi.personneId =1
Ojectif class
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "objectifId")
private int objectifId;
@ManyToMany(mappedBy = "objectifs")
private List<Intervenant> intervenants;
@ManyToOne
@JoinColumn(name = "collaborateurId")
private Collaborateur collaborateur;
干预班
@Entity
@DiscriminatorValue("intervenant")
public class Intervenant extends Personne
{
@ManyToMany
@JoinTable(name="objectifs_intervenants", joinColumns={@JoinColumn(name = "personneId")},
inverseJoinColumns = {@JoinColumn(name = "objectifId")})
private List<Objectif> objectifs;
答案 0 :(得分:0)
我建议:
select ob from Objectif ob join Intervenant i
where ob.collaborateur.collaborateurId = :collaborateurId
and i.personneId = :personneId
这将返回Objectif
个对象的列表,您可以使用getIntervenants()
获取有关您在SQL查询中拥有的干预者的其他信息。