0

我有一个具有多个多对一映射的作业表。一个申请表,其中包含特定工作的申请者和地址表,其中包含有关此工作发布位置的多个位置。我正在寻找一个查询来获取我的工作列表(每个工作没有多个条目)。当我做 job.getApplicants 时,它应该给我该工作的所有申请人列表,而 job.addresses 应该给我这份工作的所有地址。重要的是,上述所有数据都应该在One Single Eager fetch 中获得。

我现在遇到的问题是,如果我有 10 位申请人,我的 jobList 中的单项工作将获得 10 个条目。我使用的代码有点像这样。

select j from Job j left outer join fetch j.applicants apps where j.job_id = :job_id

提前致谢

4

1 回答 1

0

实际上,答案很简单。我只需要添加不同的喜欢

select distinct j from Job

我以前不能使用 distinct,因为作业中的列之一是 xml 类型。我仍在寻找有关如何在创建实体类本身时将 xml 类型列转换为 String/varchar 的答案,同时使用注释进行映射。

于 2013-02-14T04:08:36.323 回答