如何使用条件进行简单的左联接?

时间:2018-09-05 12:04:01

标签: java hibernate

我有一个带有user_id的用户表。

我这样获取用户:

    Criteria c = session.createCriteria(User.class);

现在我有一张带有用户表外键的票证。有一列user_id

我希望在我的条件下获得所有具有票证类型X的用户。

我尝试过这样的事情:

c.createAlias("ticket", "ticket");
c.add(Restrictions.ne("ticket.type", "X"));

1 个答案:

答案 0 :(得分:0)

在createAlias方法中,您可以指定所需的联接。

Criteria c = session.createCriteria(User.class)
                .createAlias("ticket", JoinType.LEFT_OUTER_JOIN);

Criteria c = session.createCriteria(User.class, "user")
                .createAlias("user.ticket", "ticket", JoinType.LEFT_OUTER_JOIN);