【发布时间】:2010-05-02 18:29:09
【问题描述】:
我还是 JPA 的新手(以及我用作提供程序的 Hibernate),所以也许这无法完成,但无论如何......
考虑以下代码:
@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;
}
在数据库中,有一个集合表'Root_resources',它存储了map的值,但是资源类型出现了两次(实际上是资源类型ID),一次作为map的KEY,并且一次作为值的一部分。
有没有一种方法,类似于@MapKey 注释,表明键是值的列之一(即嵌入)?
【问题讨论】:
-
您找到解决方案了吗?下面的方法有用吗?