java的exists_java – 具有exists子句的hibernate标准

我认为这个链接可以是有用的:

http://mikedesjardins.net/2008/09/22/hibernate-criteria-subqueries-exists/

它包含以下关于create n如何存在条件的示例:

“您真正想要做的是获得所有披萨订单,其中存在相关的小比萨饼,换句话说,您尝试仿效的SQL查询是

SELECT *

FROM PIZZA_ORDER

WHERE EXISTS (SELECT 1

FROM PIZZA

WHERE PIZZA.pizza_size_id = 1

AND PIZZA.pizza_order_id = PIZZA_ORDER.pizza_order_id)

你这样做的方式是使用“存在”子查询,如下所示:

Criteria criteria = Criteria.forClass(PizzaOrder.class,"pizzaOrder");

DetachedCriteria sizeCriteria = DetachedCriteria.forClass(Pizza.class,"pizza");

sizeCriteria.add("pizza_size_id",1);

sizeCriteria.add(Property.forName("pizza.pizza_order_id").eqProperty("pizzaOrder.pizza_order_id"));

criteria.add(Subqueries.exists(sizeCriteria.setProjection(Projections.property("pizza.id"))));

List ordersWithOneSmallPizza = criteria.list();

而瞧,结果会包含两个PizzaOrders!“

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值