回答

收藏

休眠子查询

技术问答 技术问答 172 人阅读 | 0 人回复 | 2023-09-14

我在使用Hibernate查询创建子时遇到问题。不幸的是,Subqueries几乎没有文档,所以我不知道如何使用以下文件SQL转换为Hibernate& B8 L" n# i! J$ o. f7 C- j
Criteria:
  q  o( d6 m1 y& l9 o. Y$ m# k' eSELECT idFROM car_partsWHERE car_id IN ( SELECT id FROM cars WHERE owner_id = 123 )希望以下内容能正常工作:! j" i+ r& Q* H$ W2 {. N
session.createCriteria(CarParts.class).add(eq("car.owner",myCarOwner));但不幸的是,事实并非如此。所以,看来我实际上必须使用它。Subqueries类来创建Criteria。但我不能通过Google找个合理的例子,所以这让我在这里提问。
3 V7 h/ o, h& J0 J8 j) c                                                               
9 I4 t, ?  w3 L& I$ `    解决方案:                                                               
! i3 A* T  U6 r0 A# r                                                                在添加eq在表达式之前,尝试 car属性创建别名:; j0 a6 Y6 ^7 d% f9 {  X
session.createCriteria(CarParts.class)          .createAlias("car","c")          .add(eq("c.owner",myCarOwner));
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则