[英]How to write equivalent JPQL query for LEFT OUTER JOIN written in native sql?
這是本機查詢-
@Query(nativeQuery = true, value = "SELECT CA FROM CLASS_ATTRIBUTE,WORD_PROCESSING WHERE ( word_processing.uoid = class_attribute.c_user_explanation(+)) ORDER BY CLASS_ATTRIBUTE.DESCRIPTION ASC
我嘗試了以下JPQL查詢,但沒有成功-
@Query(value = "SELECT CA FROM ClassAttribute CA LEFT JOIN CA.WordProcessing AS WP ON ( WP.id = CA.userExplanationUoid) ORDER BY CA.description ASC")
還嘗試了以下JPQL-
@Query(value = "SELECT CA FROM ClassAttribute CA LEFT OUTER JOIN CA.WordProcessing AS WP WHERE ( WP.id = CA.userExplanationUoid) ORDER BY CA.description ASC")
如果嘗試這些,編譯將進入無限循環。 Spring框架中的某些內容使它一次又一次刷新。 轉換后的JPQL查詢的語法似乎存在一些問題。
看來這里的問題出在pom.xml上,其中hibernate.entitymanager.version是5.0.12.Final。 將其更改為5.1.10.Final幫了我大忙。
由於Maven現在不推薦使用hibernate.entitymanager( https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager ),因此它實際上下載了jar的hibernate-core:5.1.10.Final版本,因為與JOIN相關的查詢是現在工作正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.