【发布时间】:2017-09-08 12:12:46
【问题描述】:
我将 spring jpa 与 hibernate 和 postgres 一起使用
在一个实体中,我尝试使用 List 和 integer[]
在数据库中,我有一列类型:
integer[]
有没有jpa的使用方式?
【问题讨论】:
标签: postgresql hibernate jpa spring-data-jpa
我将 spring jpa 与 hibernate 和 postgres 一起使用
在一个实体中,我尝试使用 List 和 integer[]
在数据库中,我有一列类型:
integer[]
有没有jpa的使用方式?
【问题讨论】:
标签: postgresql hibernate jpa spring-data-jpa
JPA 无法开箱即用地将数组持久保存到单独的表或数据库数组(例如映射到 java.sql.Array 的数组)。所以你有两种方法:
1) 使用@Lob 将此列保存为 BLOB 或 CLOB
@Lob
private Integer[] values;
2) 使用List<Integer> 代替数组
@ElementCollection
public List<Integer> values;
【讨论】:
这样做对我来说很好:
@Column(name="column_name")
private Integer[] columnName;
我不需要像 Mykola Yashchenko 建议的那样需要 @Lob。
【讨论】:
您还可以编写自定义通用数组转换器来解决此问题。
【讨论】: