编程语言
首页 > 编程语言> > java – JPA:在单个字段中存储整数列表

java – JPA:在单个字段中存储整数列表

作者:互联网

是否可以使用标准JPA 2在相应实体表的单个字段中存储整数列表?

就像是:

 @Entity
 @Table(name="tbl_myentities")
 public class MyEntity {

   @ElementaryCollection
   @Column(name="vals") // in table tbl_myentities
   private List<Integer> vals;

谢谢

解决方法:

无法在单个字段中存储多个值.是什么原因将它们存储在一个字段中?

一种方法可以是使用String类型的字段,并在逗号分隔列表中添加所有整数,并在getter和setter中加入/爆炸:

private String vals;

public setVals(int vals[])
{
     // this.vals = Iterate vals[] and create a comma separated string
}

public int[] getVals()
{
    // vals.split(",") to get a list of Strings, then typecast/parse them to ints before returning
}

使用@ElementCollection批注和@CollectionTable来控制映射需要一个单独的表来存储值.

@ElementCollection
private Collection<Integer> integers;

http://en.wikibooks.org/wiki/Java_Persistence/ElementCollection上阅读有关元素集合的更多信息

类似的问题在这里Does JPA @ElementCollection annotation always produce an one-to-many relationship?

标签:java,jpa-2-0
来源: https://codeday.me/bug/20191002/1843199.html