У меня есть класс Hibernate, который по сути является просто оболочкой для множества коллекций.
Таким образом, класс (сильно упрощенный/псевдо) выглядит примерно так:
@Entity public class MyClass { @OneToMany Map1 @OneToMany Map2 @OneToMany Map3 AddToMap1(); AddToMap2(); AddToMap3(); RemoveFromMap1(); RemoveFromMap2(); RemoveFromMap3(); DoWhateverWithMap1(); DoWhateverWithMap2(); DoWhateverWithMap3(); }
и т. д. Каждая из этих карт имеет несколько связанных с ней методов (добавить/удалить/допросить/и т. д.).
Как вы можете себе представить, к тому времени, когда я добавил 10-ю коллекцию или около того, класс стал немного нелепым по размеру.
То, что я хотел бы сделать, это что-то вроде строк:
@Entity public class MyClass { ClassWrappingMap1; ClassWrappingMap2; ClassWrappingMap3; }
Со всеми различными методами, заключенными в эти классы:
public class ClassWrappingMap1 { @OneToMany Map AddToMap(); RemoveFromMap(); DoWhateverWithMap(); }
Я подумал, что, возможно, я мог бы использовать @Embedded
для этого, но, похоже, я не могу заставить его работать (Hibernate просто даже не пытается сохранить карту внутри класса-оболочки).
Кто-нибудь когда-нибудь делал что-то подобное раньше? Любые подсказки?
Большое спасибо,
Нед