straight_join 在 JPA 或 HIBERNATE 中

straight_join in JPA or HIBERNATE

如何在hibernate/jpa中使用select straight_join ... from ...

JPQL/JPA 没有 straight_join。

您需要在 NativeQuery 中使用它。

entityManager.createNativeQuery(...);

在 Hibernate 5.2.12 和 MySQL 版本 8 中应该可以使用优化器提示 JOIN_FIXED_ORDER(效果与 STRAIGHT_JOIN 相同) 链接下提供了更多信息:

Jira 票证: 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