У меня есть следующие классы:
AnimalClass [Id, Name, Set<Tag>]
|
+-- FishClass [FishSpecific]
+-- MammalClass [MammalSpecific]
Tag [Name]
Таким образом, любое животное может иметь любое количество связанных тегов.
Для этого я использую в AnimalClass:
@JoinTable(name="Animal_Tag")
@JoinColumn(name="animal_id", referencedColumnName="id", nullable=false)
@OneToMany(cascade=CascadeType.ALL)
@Getter
protected Set<Tag> tags = new HashSet<Tag>();
Моя проблема в том, что Hibernate создает таблицу m-n как:
Animal_Tag [FishClass_id, MammalClass_id, Tag_id].
Я бы предпочел иметь какое-то перечисление как:
Animal_Tag [Animal_id, AnimalTypeEnumeration[ Fish | Mammal ], Tag_id].
Спасибо!