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