最新的JPA Criteria API连接表

时间:2019-03-19 10:25:26

标签: java jpa spring-data-jpa

我有2个表productproduct_stateproduct_state表存储产品的每个状态更改。

我想使用Criteria API选择具有给定状态(由用户在UI上选择)的产品。因此,我需要将product记录与最新的相关product_state记录一起加入。

在普通SQL中,我使用以下代码:

select p.*
from product as p
  left join (select *
             from product_state ps
             where ps.id = (select max(id)
                            from product_state ps2
                            where ps2.product_id = ps.product_id)
            ) as latest_product_state on latest_product_state.product_id = p.id;

在所有其他简单情况下,我使用Criteria API进行用户触发的过滤。但是在这种情况下,我不知道如何开始。

0 个答案:

没有答案