[英]Composite Key and spring-data-jdbc
我有一個使用復合鍵的數據庫。 是否可以使用 spring-data-jdbc? 我嘗試了里程碑版本 1.1M2,其中我以以下方式映射了我的實體:
class History {
@ID
@Embedded
private CompositeHistoryID id;
}
然后在我的存儲庫類中,我添加了
HistoryRepository extends Repository<History,CompositeHistoryID >{
History findByhId(CompositeHistoryID id)
}
我跟蹤了 SQL,但它不起作用。 嵌入部分有效,但 where 子句不正確。 它使用單個參數持有者而不是具有常規復合鍵結構,其中 element1=subkey1 和 element2=subkey2 等等......
我有兩個問題。 有什么方法可以使復合 ID 工作嗎?
第二個問題是,假設我在@Query
之上使用自定義@Query
之后 SAVE 方法findByID
會起作用? 什么是根本沒有ID,如果我只是隨機選擇一個列並說你將成為我的ID怎么辦?
否@Embedded
不適用於 Id,但。 現在所有的 SQL 語句都為 id 列假定一個簡單的值。 我認為沒有解決方法。
一種可行的解決方法是創建一個視圖,該視圖將復合鍵顯示為單個字段,並具有將正確數據寫入基礎表的觸發器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.