如何在JPA中映射整数数组

时间:2017-09-08 12:12:46

标签: postgresql hibernate jpa spring-data-jpa

我使用spring jpa with hibernate和postgres

在一个实体中,我尝试使用List和integer []

在数据库中,我有一个类型为

的列
integer[] 

是否有任何jpa方式可以使用它?

3 个答案:

答案 0 :(得分:5)

JPA无法将数组持久保存到单独的表或数据库数组(例如映射到java.sql.Array的数组)。所以你有两种方式:

1)使用@Lob将此列保存为BLOB或CLOB

@Lob
private Integer[] values;

2)使用List<Integer>代替数组

@ElementCollection
public List<Integer> values;

答案 1 :(得分:0)

这样做对我来说很好:

@Column(name="column_name")
private Integer[] columnName;

我不需要像Mykola Yashchenko建议的那样@Lob

答案 2 :(得分:0)

您还可以编写自定义的通用数组转换器来解决此问题。