相关疑难解决方法(0)

JPA和Hibernate中@MapKey,@ MapKeyColumn和@MapKeyJoinColumn的区别

根据Hibernate文档,如果我们想将Map用作实体之间的关联,则可以使用多个注释.医生说:

或者,映射键映射到一个或多个专用列.要自定义映射,请使用以下注释之一:

@MapKeyColumn如果map键是基本类型.如果未指定列名,则使用属性的名称,后跟下划线,后跟KEY(例如orders_KEY).@MapKeyEnumerated/@MapKeyTemporal如果地图密钥类型分别是枚举或日期.@ MapKeyJoinColumn/@ MapKeyJoinColumns如果映射键类型是另一个实体.当地图键是可嵌入对象时,@ AttributeOverride/@ AttributeOverrides.使用密钥.作为可嵌入对象属性名称的前缀.如果不使用泛型,也可以使用@MapKeyClass来定义键的类型.

通过一些示例,我能够理解@MapKey仅用于将键映射到目标实体的属性,并且此键仅用于获取记录.@MapKeyColumn用于将键映射到目标实体的属性,该键用于保存和获取记录.如果这是正确的,请告诉我?

当我需要使用@ MapKeyJoinColumn/@ MapKeyJoinColumns和@MapKeyEnumerated/@MapKeyTemporal时,请告诉我

谢谢!

java orm hibernate jpa hibernate-mapping

21
推荐指数
1
解决办法
2万
查看次数

标签 统计

hibernate ×1

hibernate-mapping ×1

java ×1

jpa ×1

orm ×1