当前位置: 首页 > 面试题库 >

Hibernate子查询

苏高峰
2023-03-14
问题内容

我在使用Hibernate创建子查询时遇到问题。不幸的是Subqueries类几乎是完全没有文档的,因此我绝对不知道如何将以下SQL转换为Hibernate
Criteria:

SELECT id
FROM car_parts
WHERE car_id IN ( SELECT id FROM cars WHERE owner_id = 123 )

我希望以下内容能够“正常工作”:

session.createCriteria(CarParts.class).add(eq("car.owner", myCarOwner));

但不幸的是,事实并非如此。因此,看来我实际上必须使用Subqueries类来创建Criteria。但是我无法通过Google找到一个合理的例子,因此我不得不在这里提出要求。


问题答案:

在添加eq表达式之前,尝试为“ car”属性创建别名:

session.createCriteria(CarParts.class)  
        .createAlias("car", "c")  
        .add(eq("c.owner", myCarOwner));


 类似资料:
  • 我刚开始冬眠。我有两张桌子,有一对多的关系。有两个表格: 这是一个父类,它与图像表有一对多关系 现在我想使用父类的id(即:pashminaId)从类中选择一个 如: 选择IMAGE_NAMETBL_IMAGEPASHMINA_ID='some_digit'; 我怎么能在图像类中传递pashminaId,因为没有它只有一个父类的对象创建。 那么,我如何在Hibernate中实现这一点? 谢谢!希望

  • 如何在Hibernate中为下面给定的查询编写criteria builder api查询?batchId不是主键 从用户中选择批号('1','3') 我尝试过: 除了数据库中存在的数据外,我什么也得不到。

  • 我正在开发应用程序来学习PostgreSQL上的HiberNate。我目前正在尝试将变量添加到具有OneToOne关系的数据库中。 首先,我用下面的模式在数据库中创建了两个表。在表上,它有主键,也是表的外键。 然后我创建了两个类,和。是具有OneToOne关系的的子类。我使用下面的代码添加作为属性的。 但是上面代码的问题是HiberNate首先执行子查询,而不是父查询。 Hibernate:在pe

  • 问题内容: 假设我们有一个 类别-项目 一对多 关系。我想这样做 假设我们有一个Hibernate POJO“类类别”。 我的第一个问题是我真的无法弄清楚从该查询中我得到List 对象对吗?以及如何访问“ itemCount”?因为没有 Category.getItemCount() 其次,如何编写条件查询? 谢谢 问题答案: 似乎这是我正在寻找的答案(进入POJO):

  • 我有一个表“Quote”,映射在hibernate中,它有一个由整数id和日期组成的复合键,还有几个附加列。我想编写一个条件查询,它使用DetachedCriteria来获取每个id中日期最长的行。 在sql中,我可能会编写一个查询,比如 在hibernate中,我认为可以像这样为“group by”子查询创建DetachedCriteria(其中Quote是映射表的类,“Qid”是键的复合id类

  • 我的ParkingLotEntity: 我的Jpa存储库接口 上面的两个方法运行良好,但问题是我还需要从结果集到第二个方法“GetAllParkingLotCurrentlyWorkingInRegionOfRadius”中的位置的任何停车场之间的距离!在SQL Server中,我的定义函数已经计算出了距离。方法2的结果集是成功的,但没有返回距离(这是我的需要),只是一组parkingLotEnt