Hibernate: Коллекции коллекций

Это проблема, над которой я продолжаю работать:

Я хотел бы, чтобы hibernate управлял одной таблицей, представляющей коллекцию коллекций. Например:

  • Карта карт
  • Список наборов
  • Карта списков

Пример: я хотел бы иметь возможность представить это:

class OwningClass {  
    Long entityId;  
    Map<String, List<Element>> mapOfLists;
}

class Element {
    String data_1;
    boolean data_2;
}

как отдельная таблица:

OWNER (Foreign key to the owner of this element) 
MAP_KEY (varchar(30) )
LIST_INDEX (int)
ELEMENT_DATA_1 (varchar(1020)
ELEMENT_DATA_2 (bit)

Это не представляется возможным без специального спящего кода, который я не против. Но я надеялся, что у кого-то есть какие-то рекомендации относительно того, как должен выглядеть этот пользовательский код.

  • Должен ли я расширять AbstractPersistentCollection?
  • CompositeUserType?

Его можно управлять, если несколько таблиц - o.k. но, очевидно, это хромает с точки зрения db.

Ответы