在JPA 中對應帶有保留關鍵字的實體欄位
在對應名稱為JPA 中保留字的實體欄位(例如SQL Server 中的「open” )時,可能會出現挑戰。 Hibernate 在建立表格時通常會使用引號的標識符,以確保保留關鍵字不會幹擾 SQL 查詢。然而,這種情況可能並不總是發生,從而導致像範例中遇到的錯誤。
使用反引號轉義保留關鍵字(JPA 1.0)
在JPA 1.0 中,可以透過以下方式解決問題在@Column 註解中的保留關鍵字周圍使用反引號:
Hibernate 將把標識符括在適當的位置基於SQL 方言的引號。
使用雙引號(JPA 2.0)
在JPA 2.0 中,轉義保留關鍵字的語法已標準化,使用雙引號:
此方法會自動為SQL加入必要的引號
參考文件
- [Hibernate 參考指南](https://docs.jboss.org/hibernate/stable/)
[SQL 引用標識符在休眠狀態下核心](https://docs.jboss.org/hibernate/orm/5.6/userguide/html_single/Hibernate_User_Guide.html#identifiers-delimit-identifiers)- [JPA 2.0規格](https://docs.oracle.com/javaee/7/api/javax/persistence/package-summary.html)
- [JPA 2.0 中資料庫物件的命名](https:// docs .oracle.com/javaee/7/api/javax/persistence/Table.html#name--))
以上是如何處理JPA實體欄位對應中的保留關鍵字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!