【发布时间】:2015-03-03 04:41:02
【问题描述】:
如何在hibernate/jpa中使用select straight_join ... from ...?
【问题讨论】:
-
什么是“straight_join”?你读过定义 JPQL 的 JPA 文档吗?
标签: hibernate jpa spring-data querydsl
如何在hibernate/jpa中使用select straight_join ... from ...?
【问题讨论】:
标签: hibernate jpa spring-data querydsl
JPQL/JPA 没有 direct_join。
您需要在 NativeQuery 中使用它。
entityManager.createNativeQuery(...);
【讨论】:
在 Hibernate 5.2.12 和 MySQL 版本 8 中应该可以使用优化器提示 JOIN_FIXED_ORDER(与 STRAIGHT_JOIN 效果相同) 更多信息可在链接下获得:
吉拉票: https://hibernate.atlassian.net/browse/HHH-11906
Hibernate 代码更改允许这样做: https://github.com/hibernate/hibernate-orm/commit/72506a6eacc367297a3205f6e1fec7ccbc153799
MySQL 优化器提示的文档: https://dev.mysql.com/doc/refman/8.0/en/optimizer-hints.html
【讨论】: