jpa与Java项目_java – JPA为每个项目选择最新实例

假设我有一个会议实体.每次会议都有一个出席者和会议日期.在我的会议桌内,我可能会为每位与会者举行多次会议,每个会议日期不同.我需要一个JPA查询,只会选择所有与会者的最新会议.例如,如果我的表看起来像这样

Meeting ID | Attendee ID | Meeting Date

1 | 1 | 6/1/2011

2 | 2 | 6/1/2011

3 | 1 | 6/6/2011

4 | 3 | 6/6/2011

我的结果应该是

Meeting ID | Attendee ID | Meeting Date

2 | 2 | 6/1/2011

3 | 1 | 6/6/2011

4 | 3 | 6/6/2011

使用JPA 2对postgres.会议有1-1到参加者和一个简单的时间戳日期.我怀疑我需要做一个组和最大(blah),也许加入我自己,但我不知道最好的方法来处理这个.

更新:

在晚上玩这个之后,我还没有一个可接受的JPQL解决方案.这是我到目前为止

select m from Meeting m

where m.meetingDate in

( select max(meet.meetingDate)

from Meeting meet group by meet.attendee )

我有与这个问题无关的各种其他条件,如出席者部门的过滤,以及什么.唯一的原因是因为我们正在跟踪会议日期到第二个(或更好),并且在完全相同的时间举行两次会议的机会是最小的.我们正在把一些java的东西放在每个参加者的最后一次会议上,以防万一我们同时得到两个,但这是一个非常糟糕的解决方案.在查询中得到这一切真的不是太难了,但我还没有弄清楚.

Update2:添加sql标签,因为如果我需要使用sql来创建一个视图,并创建一个JPA对象映射到视图我可以确定.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值