JPA标准API:如何使用IN关键字并查询另一个谓词的结果?

时间:2012-11-02 13:40:49

标签: java jpa-2.0 criteria-api

抱歉标题不好,我真的不知道如何更好地说出来:

我有以下表结构:

Table A --> Table B  <-- Table C (proceeds) --> Table D(prcoeeding_status)
--------    --------     -------                -------
 aID         bID           cID                   dID
 ...         ....          created             textValue
 f_bID       ....          f_bID       
                           f_dID

意味着A和C有一个指向B的外键,C也有一个指向D

的外键

我有一个这样的谓词(root是表A):

constraintCondition = (TableA.join("Table B key")
                        .joinList("Table C Key")
                        .join("Table D Key").get("value from table D"))
                        .in(someValues);

这很好,并给我预期的结果。 现在我需要添加另一个约束,仅选择表C中的条目日期条目(即“已创建”)在Startdate和Enddate之间。 如何将另一个谓词链接到此谓词,或者如何修改此谓词,以便获得所需的效果?

编辑:

我在这里得到了这个问题的答案:JPA 2 criteria API: How to select values from various joined tables without using Metamodel?

1 个答案:

答案 0 :(得分:0)

请看这里,这是同样的问题,更好地描述和回答:

JPA 2 criteria API: How to select values from various joined tables without using Metamodel?