[英]What is the best way of store arrays with Hibernate?
我想將一個double[]
數組作為Blob
在具有Hibernate的數據庫中。 但當我將該屬性標記為Lob
,這樣的事情:
@Entity
class MyEntity {
@Lob
double[] data;
}
我得到錯誤D cannot be cast to java.sql.Blob
。 (其中對於double[][]
數組這是有效的...)所以,我的問題是如何使用Hibernate進行persis dobule[]
數組?
UPD我忘記了主要的事情,對不起......數組足夠大,數千個值(更具體的5000-20000值)。 我想使用H2
數據庫中的Blob
壓縮選項。 所以,我需要Lob
,但不需要List
。
UPD2另一個細節,它是只讀數組。
在我看來,使用@ElementCollection
並讓Hibernate處理優化是最好的:
@Entity
class MyEntity {
@ElementCollection
List<Double> data;
}
@Lob注釋不支持double []類型。 @Lob支持的類型有:
你可以做的是創建一個自定義的可序列化類,然后使用它
@Entity
class MyEntity {
@Lob
DoubleArray data;
}
public class DoubleArray implements Serializable {
private double[] data;
//constructor, getter and setter
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.