直接加入 JPA 或 HIBERNATE
Posted
技术标签:
【中文标题】直接加入 JPA 或 HIBERNATE【英文标题】:straight_join in JPA or HIBERNATE 【发布时间】:2015-03-03 04:41:02 【问题描述】:如何在hibernate/jpa中使用select straight_join ... from ...
?
【问题讨论】:
什么是“straight_join”?你读过定义 JPQL 的 JPA 文档吗? 【参考方案1】:JPQL/JPA 没有 direct_join。
您需要在 NativeQuery 中使用它。
entityManager.createNativeQuery(...);
【讨论】:
【参考方案2】:在 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
【讨论】:
以上是关于直接加入 JPA 或 HIBERNATE的主要内容,如果未能解决你的问题,请参考以下文章