我正在嘗試將一個簡單的物件保存到 JPA 存盤庫中,但有些東西我無法理解。
當我嘗試像這樣存盤整數串列時,出現運行時錯誤,我無法將 ArrayList 轉換為 blob:
@Lob
List<Integer> bla = new ArrayList<>();
但是,如果我這樣做:
@Lob
BogusClass bogus;
在哪里
class BogusClass implements Serializable {
List<Integer> bla = new ArrayList<>();
}
一切正常,花花公子。但是整數默認情況下是可序列化的,并且在 Lob 檔案中它說應該接受集合。有人可以向我解釋其中的區別以及為什么第一個選項不起作用嗎?
uj5u.com熱心網友回復:
在關系資料庫的情況下,不可能在單個列中存盤多個值。
當您需要將物件串列保存在 DB 中時,主要有 2 個選項:
- 使用@ElementCollection 和@CollectionTable 注釋。將創建一個新表(一對多/多對一);
- 創建一個轉換器,將資料串列轉換為逗號分隔值
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/513442.html
標籤:春天jpa斑点
