Hibernate 在JPA语言中,一种可嵌入值的映射,其中有一个作为键的嵌入实体
我对JPA(还有Hibernate,我正在使用它作为我的提供者)还是一个新手,所以也许这不能做到,但无论如何 考虑以下代码:Hibernate 在JPA语言中,一种可嵌入值的映射,其中有一个作为键的嵌入实体,hibernate,jpa,Hibernate,Jpa,我对JPA(还有Hibernate,我正在使用它作为我的提供者)还是一个新手,所以也许这不能做到,但无论如何 考虑以下代码: @Entity class Root { @Id private long id; private String name; @ElementCollection private Map<ResourceType, Resource> resources; ... } @Entity class Resour
@Entity
class Root {
@Id
private long id;
private String name;
@ElementCollection
private Map<ResourceType, Resource> resources;
...
}
@Entity
class ResourceType {
@Id
private long id;
private String name;
}
@Embeddable
class Resource {
private ResourceType resourceType;
private long value;
}
@实体
类根{
@身份证
私人长id;
私有字符串名称;
@元素集合
私人地图资源;
...
}
@实体
类资源类型{
@身份证
私人长id;
私有字符串名称;
}
@可嵌入
类资源{
私有资源类型资源类型;
私人长期价值;
}
在数据库中,有一个集合表“Root_resources”,它存储映射的值,但资源类型显示两次(实际上,资源类型ID显示),一次作为映射的键,一次作为值的一部分
有没有一种方法,类似于,比如说,
@MapKey
注释,来指示键是值的一列(即嵌入的)?我想你要求的是:
@MapKeyJoinColumn("RESOURCE_TYPE_ID")
在ElementCollection上
然后还指定可嵌入数据库上资源类型的FK映射的列名。找到解决方案了吗?下面的一个有效吗?可能重复