У меня есть структура данных, которая сводится к:
class StylesheetUserPreferencesImpl {
long id;
String desc;
Map<String, Map<String, String>> nodeAttributes;
}
Чтобы попытаться сделать аннотации JPA2 немного более разумными, я создал небольшой класс для представления внутреннего класса:
class LayoutAttributeImpl {
String nodeId;
private Map<String, String> attributes;
}
Что дает мне:
class StylesheetUserPreferencesImpl {
long id;
String desc;
Map<String, LayoutAttributeImpl> nodeAttributes;
}
В конце концов мне бы хотелось, чтобы структура таблицы выглядела следующим образом:
SS_USER_PREFS
PREFS_ID
DESC
SS_LAYOUT_ATTRS
PREFS_ID
NODE_ID
NAME
VALUE
Я не совсем уверен, что делать с отображениемэто в JPA, хотя.Кажется, я хочу, чтобы LayoutAttributeImpl был Embeddable, но, насколько я понимаю, объекты Embeddable не могут содержать коллекции.У меня это работает прямо сейчас с LayoutAttributeImpl, действующим как полноценный @Entity, но это дает мне дополнительную таблицу, которая мне действительно не нужна.