0
我有一個用例需要IN子句應用於兩個表。休眠彈簧數據Jpa
這兩個表不是通過外鍵約束相關的,也不是任何一個列的值都相同,因此查詢使用CONCAT。
本機查詢,因此,看起來是這樣的:
SELECT A.requiredColumn from A, B WHERE colA LIKE CONCAT(colB, 'FOR_COMPARISON');
要做到在Spring數據JPA一個加入這個樣子,我不知道是有辦法做到明確映射,因爲列不完全「等於」。這些都是我研究的主題:
Selecting from Multiple Tables in Spring Data
Joining two table entities in Spring Data JPA
我申請了Spring數據JPA相當於IN子句爲低於本地:
SELECT A.requiredColumn
from A
where colA in (
select CONCAT(colB, 'FOR_COMPARISON')
from B);
爲:
SELECT a
from A
WHERE colA in (
select concat(
trim(colB), 'FOR_COMPARISON')
from B
);
但是,這導致:
QuerySyntaxException:期待CLOSE '從' 接近1號線發現,列134
是否有任何想法解決這個問題呢?
看起來你可能會遺漏右括號 –
謝謝@ jonathan.ihm,即複製/粘貼錯誤。語法很好。 – barsakus
然後請用您使用的實際陳述更新問題。因爲這個錯誤看起來就像人們希望從失蹤的夥伴那裏得到的那樣。 –