Я все еще новичок в 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, в которой хранятся значения карты, но тип ресурса отображается дважды (фактически, идентификатор типа ресурса отображается), один раз как KEY карты, и один раз как часть значения.
Есть ли способ, аналогичный, скажем, аннотации @MapKey
, указать, что ключ является одним из столбцов значения (т. Е. Встроен)?