에 ManyToMany 관계는 전 클래스가 있습니다. 이를 위해 ORM 다음과 같이 MappedSuperclass
나는 AnimalClass에서 사용 :Animal_Tag [FishClass_id, MammalClass_id, Tag_id].
내가 같은 열거의 어떤 종류를 선호하는 것 :
@JoinTable(name="Animal_Tag")
@JoinColumn(name="animal_id", referencedColumnName="id", nullable=false)
@OneToMany(cascade=CascadeType.ALL)
@Getter
protected Set<Tag> tags = new HashSet<Tag>();
내 문제가 최대 절전 모드로 백만 테이블을 작성한다는 것입니다
Animal_Tag [Animal_id, AnimalTypeEnumeration[ Fish | Mammal ], Tag_id].
감사!
스키마가 사실 훨씬 더 복잡하기 때문에 수퍼 클래스를 @Entity로 사용할 수 없습니다 (다른 상속 된 클래스를 결합하는 4 개의 상속 된 클래스). 문제는 내가 여기서 달성하고자하는 것이 정확히 클래스의 다른 부분으로 달성하려고하는 것과 반대입니다. Animal_Tag를 갖고 싶습니다. 그러나 다른 변수에서 inst와 정확히 구분해야합니다. Fish_Photos 및 Mammal_Photos. –
기본 클래스가 아닌 물고기 및 포유 동물 클래스에서 변수를 선언하여 별도의 물고기 및 포유류 사진을 가질 수 있습니다. 엔티티의 자식 인 매핑 된 수퍼 클래스를 가질 수 있습니까? Animal 엔티티를 가질 수 있고, 그것을 확장 한 Vertebrate 매핑 된 수퍼 클래스를 가질 수 있습니다. 그런 다음이를 확장하는 Fish 및 Animal을 확장 할 수 있습니다. 이것은 조금 고안된 것이지만 문제를 해결할 수 있습니다. –