java - 如何使用标准进行简单的左连接?
问题描述
我有一个用户表,带有 user_id。
我正在获取这样的用户:
Criteria c = session.createCriteria(User.class);
现在我有一张表门票,其中包含用户表的外键。有一列 user_id
我希望在我的标准中获得票证类型为 X 的所有用户。
我试过这样的事情:
c.createAlias("ticket", "ticket");
c.add(Restrictions.ne("ticket.type", "X"));
解决方案
在 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);
推荐阅读
- confluence - 如何在融合中将字符串解析为 HTML?
- php - Yii2 通过 TagDependecy 获取所有缓存的项目
- stripe-payments - 付款验证后退还 Stripe Charge(最佳实践)
- html - CSS3 中元素的大小:Adam Freeman 书中的错误?
- r - R Markdown - 第一次尝试 - 奇怪的错误消息
- excel - 插入通过图像搜索找到的第一张图像
- python-3.x - doctest 中的行太长
- azure - 使用用户模拟调用 Azure AD Microsoft API 的 Web API
- javascript - Azure Function Azure Synapse - 为什么我收到空白输出
- r - 根据 R 中行的内容重新组织数据框元素