有没有人通过Hibernate成功地将PostgreSQL中的数值数组映射到java中的数值数组?
SQL:
CREATE TABLE sal_emp (name text, pay_by_quarter integer[]);
INSERT INTO sal_emp VALUES ('one', '{1,2,3}');
INSERT INTO sal_emp VALUES ('two', '{4,5,6}');
INSERT INTO sal_emp VALUES ('three', '{2,4,6}');
Run Code Online (Sandbox Code Playgroud)
制图:
<hibernate-mapping>
<class name="SalEmp" table="sal_emp">
<id name="name" />
<property name="payByQuarter" column="pay_by_quarter" />
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
类:
public class SalEmp implements Serializable{
private String name;
private Integer[] payByQuarter;
...// getters & setters
}
Run Code Online (Sandbox Code Playgroud)
查询表格时出现异常.
说我有一个像这样的postgres表:
CREATE TABLE sal_emp (
name text,
pay_by_quarter integer[],
schedule text[][]
);
Run Code Online (Sandbox Code Playgroud)
我甚至可以使用Spring数据插入到列pay_by_quarter或schedule?如果可能的话,它将如何看作存储库和实体?我无法找到解决此问题的任何文档或示例,可能是因为它与更常见的用例重叠,将多个表作为一对多关系插入.说到这一点,我完全打算使用Postgresql array数据类型而不使用关系表.
如何在JPA中映射双打数组.我有以下代码失败,因为hibernate无法初始化数组.
@Entity
public class YearlyTarget extends GenericModel {
@Id
public Integer year;
@ElementCollection
public Double[] values;
public YearlyTarget(int year) {
this.year = year;
this.values = new Double[12];
}
}
Run Code Online (Sandbox Code Playgroud)