Eclipse链接JPA - 仅获取关联表记录的实体

时间:2017-08-23 17:20:44

标签: java jpa eclipselink

我是JPA的新手。在我的新项目中,我们使用Eclipse Link JPA。

我有两张桌子。学生,地址。每个学生可能有多个地址(地址历史记录)。所以一对多关系。在StudentEntity.java文件中,我提到了Set。

现在我的问题是,每当我获取所有学生详细信息时,在Set中,我只需要一个Addressed条目,基于地址表中创建的日期。这意味着当我使用createQuery获取List时,如何提及相关的表条件。

实施例: -

StudentEntity

学生1 ---约翰 学生2 ---罗伯特

地址

Addr_id - STU_ID - Addr1 - 城市---创建日期 1 - STUDENT1 - latestadd --latestcity - 23-8-2017 2 - STUDENT1 - oldaddr --oldcity - 12-8-2016

学生: -

@OneToMany() 设置地址;

因此,当我不创建查询("从学生选择s")时,我想只获得addr_id = 1这是最新地址的地址。

我如何使用createQuery实现这一目标?

2 个答案:

答案 0 :(得分:1)

通过以下查询获得所需结果

学生加入s.addresses a a.id = 1"正在给予结果,而且,对于" @ OneToMany"我们需要给出注释" @ JoinFetch"。

答案 1 :(得分:0)

使用createQuery(“从学生中选择s,其中addr_id = 1”) 据我所知,这就是你要求的