JPA ElementCollection Embeddable可以使用ElementCollection列表嵌入属性吗?
@Entity
class Person {
@ElementCollection
private List<Address> addressList;
}
@Embeddable
public class Address {
private String city;
private String state;
private String countary;
@ElementCollection
private List<Phone> phones;
...
}
@Embeddable
public class Phone {
private String type;
private String areaCode;
private String number;
...
}
答案 0 :(得分:2)
是的,你可以拥有它,如果你尝试配置,你会有类似的东西。
http://postimg.org/image/pc0f3cxbp/
此外,Embeddable类型可以与JPA允许的其他实体具有Collection Relationship。
取自规格JSR317
可以使用可嵌入类来表示另一个类的状态 可嵌入的课程。
可嵌入的类(包括另一个可嵌入的类) 可嵌入类)可以包含基本类型或其他类型的集合 可嵌入的课程。
可嵌入类可能包含与实体的关系或 实体的集合。自嵌入类的实例 自己没有执着的身份,关系来自于 引用的实体是包含embeddable的实体 实例,而不是嵌入本身。
可嵌入的类,用作嵌入式ID或映射键 不得包含这种关系
<强>更新强>
根据你的问题,如果embeddables可以包含一个嵌入列表,这是可能的,并且可以按照这个答案建议的图片来完成,但是关于if和ElementCollection可以包含一个带有另一个元素集合的嵌入式答案是否
尝试这样做会导致。
映射包含一个可嵌入的&#34; examples.model.Address&#34;用一个 禁止映射&#34;电话&#34;,元素集合可能不包含 具有元素集合映射的嵌入式