[英]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.