基于子行获取实体的JPA查询

基于子行获取实体的JPA查询,jpa,Jpa,我有一个简单的模式-Order和OrderState,后者记录了订单的状态随时间的变化。当前状态是具有最新时间戳的子行的状态。我需要查询具有给定状态的所有订单。两个表都有一个从序列生成的id列,因此给定顺序的最高id是当前状态 大概是 从订单o、订单状态os中选择订单,其中os.order\u id=o.id和os.id以及os.state=和os.id=*该特定订单的最高id* 我完全被难住了…你能这样试试吗 从Order o、OrderState os中选择*,其中os.Order_id=o

我有一个简单的模式-Order和OrderState,后者记录了订单的状态随时间的变化。当前状态是具有最新时间戳的子行的状态。我需要查询具有给定状态的所有订单。两个表都有一个从序列生成的id列,因此给定顺序的最高id是当前状态

大概是

从订单o、订单状态os中选择订单,其中os.order\u id=o.id和os.id以及os.state=和os.id=*该特定订单的最高id*

我完全被难住了…

你能这样试试吗
从Order o、OrderState os中选择*,其中os.Order_id=o.id和os.state='desired state'按o.id desc排序

尝试添加映射文件/类不完全-因为这也将检索过去某个时刻具有该状态的订单,但其当前状态可能有所不同。在上面的查询中,我们将根据所需状态获取记录。在这种情况下,您将如何获取旧记录。只有您当前状态的最新时间戳表示您将获得准确的结果。如果这不正确,您能否提供有关此问题的更多信息