Java 休眠多对多查询

Java 休眠多对多查询,java,hibernate,jakarta-ee,jpa,Java,Hibernate,Jakarta Ee,Jpa,我需要用hibernate进行这个查询 SQL 对象类 @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "objectifId") private int objectifId; @ManyToMany(mappedBy = "objectifs") private List<Intervenant> intervenants; @ManyToOne @JoinColumn(name = "co

我需要用hibernate进行这个查询 SQL

对象类

@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;
@Id
@GeneratedValue(策略=GenerationType.AUTO)
@列(name=“objectifyd”)
私有对象FID;
@许多(mappedBy=“objectifs”)
私人名单干预者;
@许多酮
@JoinColumn(name=“collaborated”)
私人合作者;
中间阶级

    @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;
@实体
@鉴别器值(“被干预者”)
公共类干预人员
{
@许多
@JoinTable(name=“objectifs\u interventants”,joinColumns={@JoinColumn(name=“personeId”)},
inverseJoinColumns={@JoinColumn(name=“objectifyd”)})
私有列表对象;
我建议:

select ob from Objectif ob join Intervenant i
where ob.collaborateur.collaborateurId = :collaborateurId
and i.personneId = :personneId

这将返回
Objectif
对象的列表,您可以使用
getinterventants()
获取有关SQL查询中的干预对象的其他信息。

您遇到了什么错误?我很累,但每次我对我想要的内容有不同的结果时,我都做不到。您可以显示
干预对象
类吗?显示两个类:cronym大写;语法;降噪。您能更明确吗o您收到错误消息?或者您没有得到预期的结果?
select ob from Objectif ob join Intervenant i
where ob.collaborateur.collaborateurId = :collaborateurId
and i.personneId = :personneId