У меня есть класс 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 просто даже не пытается сохранить карту внутри класса-оболочки).
Кто-нибудь когда-нибудь делал что-то подобное раньше? Любые подсказки?
Большое спасибо,
Нед