我是新手,Spring Data JPA我們在專案中有一些使用JPQL. 我有SQL知識,但作為初學者,我需要澄清以下問題:
1.可用于創建查詢的選項有哪些Spring Data JPA?我看到Native Query和 a JPQL,但不確定是否還有其他選擇?
2. Native Query 和 JPQL 有什么區別?我剛剛意識到JPQL使用類名,例如 ProductCategory 而本機使用表名,例如 product_category。還有其他區別嗎?
uj5u.com熱心網友回復:
JPQL 將根據物體轉換為 SQL。
在 SQL 中你這樣寫:
SELECT d.familyname FROM car c LEFT JOIN driver d ON (c.driver_id = d.id) WHERE c.id = 123
如果您在 JPQL 中有完整的物體,則可以使用:
SELECT d.familyname FROM Car c LEFT JOIN c.driver d WHERE c.id = 123
如您所見,由于物體包含有關外鍵的資訊,您可以縮短查詢。
缺點
查詢的語言支持有限,示例中來自 postgres 的非 sql 函式不可用。
優點
JPQL 取決于物體。如果您更改 db-vendor,則不得更改 JPQL。
其他選項(除了 JPQL 和 SQL)
有一種叫做 HQL 的東西。但我猜它完全兼容 JPQL,所以今天沒有區別。
編輯:
你可以使用這個來縮短它:
SELECT c.driver.familyname FROM Car c WHERE c.id = 123
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/352836.html
