使用Criteria进行嵌套集合:如何使用条件检索table1.getTable2()。get(0)

时间:2017-01-18 08:48:49

标签: hibernate orm criteria hibernate-mapping nhibernate-projections

我有2个表TABLE1和TABLE2。 TABLE1的hibernate类

类Table1 {

私人收藏< table2s> table2s = new ArrayList< table2s>();

}

现在使用标准我需要获取Table1记录,结果应该有Table2s列表中一个链接到Table1的记录。

例如:表1 TABLE1ID名称 1 A. 2 B. 表2 TABLE2ID TABLE1ID TABLE2NAME 1 1 XXXXX 2 1 XXXXXX 3 1 XXX 4 2 YYYY 5 2 YYYYYY

预期产出: TABLE1ID名称TABLE2ID TABLE2NAME 1 A 1 XXXXX 2 B 4 YYYY

类似于table1.gettable2s()。get(0)

1 个答案:

答案 0 :(得分:0)

使用join()方法

    CriteriaBuilder cb = em.getCriteriaBuilder();
    CriteriaQuery<Table1> q = cb.createQuery(Table1.class);
    Root<Table1> r = q.from(Table2.class);

    Join<Table2, Table1> usersJoin = r.join("field", JoinType.LEFT);