我是新来冬眠,我已经学会了如何注释Map<String, String>
或Map<String, CustomObject>
或List<CustomObject>
等,但我不能找到一种方法,注释Map<String, List>
或List<List>
例如,以下是我如何注释Map<CustomKey, CustomObject>
和它的工作方式。
@ElementCollection(targetClass=PhoneNumber.class, fetch=FetchType.EAGER)
@MapKeyClass(NumberType.class)
@MapKeyColumn(name="type")
@CollectionTable(name="phones", joinColumns=@JoinColumn(referencedColumnName="id"))
@Getter
@Setter
private Map<NumberType, PhoneNumber> phones;
和
@Embeddable
public class NumberType {
}
和
@Embeddable
public class PhoneNumber {
}
现在,我的要求是对诸如Map<CustomKey, List<CustomObject>>
和Map<CustomKey, Map<AnotherCustomKey, CustomObject>>
所以我的问题是:Hibernate / JPA可以做到吗?还是在休眠中以不同的方式实现这种目的?
非常感谢您的帮助。
通常,地图表示多对多关系,因此通过@ManyToMany
注释进行映射。列表是一对多或多对一关系,因此,谁应该是@OneToMany
或@ManyToOne
对应于谁。休眠处理实体及其之间的关系。
因此,示例中的Map
值类型(Map/List
)应该由其自己的实体表示。例如将。List<CustomObject>
CustomObjectGroup
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句