Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何将标准限制为fk';她在另一张桌子上吗?_Hibernate_Hibernate Criteria - Fatal编程技术网

Hibernate 如何将标准限制为fk';她在另一张桌子上吗?

Hibernate 如何将标准限制为fk';她在另一张桌子上吗?,hibernate,hibernate-criteria,Hibernate,Hibernate Criteria,我有一张表,car,每辆车都有一个id,它可能出现在选项(选项包括除霜器、电动车窗等)的FK\u car\u id列中。因此汽车与选项之间存在0对多关系 我需要配备选件的汽车 SQL如下所示: SELECT c.* from car c LEFT JOIN options o on c.id = o.FK_car_id GROUP BY c.id; 在hibernate中如何执行此操作?以下是我尝试过的: var c = newCriteria().readOnly(); c.cre

我有一张表,
car
,每辆车都有一个
id
,它可能出现在
选项
(选项包括除霜器、电动车窗等)的
FK\u car\u id
列中。因此
汽车
选项
之间存在0对多关系

我需要配备选件的汽车

SQL如下所示:

SELECT c.* from car c
  LEFT JOIN options o on c.id = o.FK_car_id
  GROUP BY c.id;
在hibernate中如何执行此操作?以下是我尝试过的:

var c = newCriteria().readOnly();

c.createAlias('car','car');
c.sqlRestriction('SELECT c.* from car c LEFT JOIN options o on c.id = o.FK_car_id GROUP BY c.id');

c.return c.list(asQuery = false);
但我得到“无法提取结果集”


注意:这是我的代码的简化表示,以突出主要问题并生成一个最小的示例。

使用以下方法:

c.createCriteria(Car.class, "car")
      .createAlias("car.options", "options", JoinType.LEFT_OUTER_JOIN)
      .setProjection(Projections.groupProperty("car.id"));