在JPA中将List属性设置为null时?

时间:2018-08-09 06:43:23

标签: database postgresql hibernate jpa eclipselink

我将EclipseLink用作我的JPA实现,并将Postgresql用作我的数据库。

JPA:

@Struct(name="label,.....")
        @Entity
        @Table(name="\"XYZ\"", schema="\"XYZ\"")
        @NamedQuery(name="XYZ.findAll", query="SELECT r FROM XYZ r")
        public class XYZ implements  Serializable {
            private static final long serialVersionUID = 1L;

            @Id
            @Column(name="\"resourceID\"")
            private String resourceID;

            @Array(databaseType = "text")
            @Column(name="\"label\"")
            private List<String> label;

    .........
            // getter/setters 

    }

我有一个要求,对于我的JPA中的每个List属性,只要其值是null,我都希望保存列表的大小为1,且第一个元素设置为{{1} }。

null

然后,在取回时将其向后取消设置,即如果列表null-----> [null] 将其设置为[null]并返回给用户,则返回列表。

null

当前,我可以想到编辑[null]-----> null 类型的每个getter / setter的方法,以设置/取消上述要求。像这样

List

在这里, public List<String> getLabels() { return unset(this.labels); } public void setLabels(List<String> labels) { this.labels = set(labels); } set在上面的列表中添加第一个元素为null和反向的元素。

有没有更清洁的方法?为此,我必须编辑unset类型的每个gett/sett,这有点麻烦。

在持久性之前,我无法直接在List中找到任何注释来编辑此值。

任何帮助将不胜感激

0 个答案:

没有答案