0
我正在使用彈簧數據JPA hbm2ddl.auto=update
。我定義了一個具有複合主鍵的實體(使用@EmbeddedId
)。 當我創建表時,是否可以定義組合鍵的順序?也就是說,它是(userid, token)
還是(token, userid)
。我可以告訴Spring Data JPA/Hibernate的複合主鍵順序嗎?
我正在使用彈簧數據JPA hbm2ddl.auto=update
。我定義了一個具有複合主鍵的實體(使用@EmbeddedId
)。 當我創建表時,是否可以定義組合鍵的順序?也就是說,它是(userid, token)
還是(token, userid)
。我可以告訴Spring Data JPA/Hibernate的複合主鍵順序嗎?
Hibernate將使用實體屬性順序生成DDL腳本。雖然您可以override the embeddable column names,但不能指定列順序。
因爲@EmbeddedId會生成一個複合主鍵,所以無論如何都會自動生成一個索引。您只需確保您的SELECT語句ORDER BY子句與複合ID使用相同的列序列,以使索引解析儘可能高效。
那麼,你是說我的'@ Embeddable'中的字段排序等於我的主鍵的順序嗎? – Ztyx
基本上可以。從我以前的觀察應該是這樣。 –