我的POJO有一個屬性name
,它應該是唯一的,因此我使用@Column(unique = true)
對它進行了註釋。長度默認爲255,我使用MySQL 5.5,數據庫排序規則設置爲utf8mb4_bin
。我知道我無法在列上指定唯一約束,但是我想知道爲什麼我的日誌文件中沒有關於創建索引失敗的警告/錯誤。 MySQL的響應索引創建具有手動嘗試「#1071 - 指定的鍵過長,最大密鑰長度爲767個字節」這樣至少某種暗示應該是可見的,不應該嗎?在MySQL中創建JPA唯一索引默認失敗
有沒有一種方法可以在運行時處理/捕獲這些類型的錯誤?例如。記錄錯誤消息,以便開發人員知道發生了什麼問題。
我使用的彈簧引導起動父母爲我的項目Maven的父母1.4.2.RELEASE和包括彈簧引導起動數據JPA添加所有相關的依賴關係。這包括spring-data-jpa-1.10.5.RELEASE和hibernate-core-5.0.11。
親愛的羅密歐,感謝您的反饋。然而,我的問題是關注事物的Java方面。我指出,我知道底層的MySQL問題的,我想知道如何處理模式創建過程中的錯誤不提出任何紅旗無論是在我的代碼也不在我的日誌文件。 – oschlueter
對不匹配感到抱歉。我有相同的版本與'spring.jpa.hibernate.ddl-AUTO TEST =創造滴',並有記錄'org.hibernate.tool.hbm2ddl.SchemaExport錯誤:指定的鍵過長;最大密鑰長度是767字節' –