gpt4 book ai didi

java - 如何使用 join in hibernate 从三个表中获取记录?

转载 作者:行者123 更新时间:2023-11-29 03:36:52 25 4
gpt4 key购买 nike

我在 mysql 中使用了此命令并轻松检索了我的记录,但我无法在 Java 中执行此操作。请指教。

select * from table1 
LEFT JOIN table2 ON table1.FRID=table2.FRID
LEFT JOIN table3 ON table1.FRID=table3.FRID
where table1.FRID='000000338';

我如何在 Java 中使用 hibernate(条件或 HQL)执行此操作。

最佳答案

在 Hibernate 中,您必须考虑对象 (OO)。因此,您查询中的表应更改为实体。 ETC。如果表(实体)之间的关系在实体中定义,Hibernate 将只允许表之间的连接。 (例如,通过@OneToMany 之类的注释)

因此,如果定义了必要的关系,HQL 将类似于(假设您加入的 2 个表通过 Hibernate 与“table1”链接/映射):

from Table1Class as table1alias
left join fetch Table2Class
left join fetch Table3Class
where table1alias.idPropertyInTable1Class = '000000338'

如果您不想让 Hibernate 返回实体,您应该查看 ResultTransformer,例如 here .

关于java - 如何使用 join in hibernate 从三个表中获取记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20322960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com