문제

So, I'm pretty new to Hibernate and I have a problem.

I have an abstract class (the super-class, class Super), and 5 subclasses which should use the proprieties from the class Super and add a new propriety (a new column)

So how can I do this? Should I extend the class Super from java, or it's enough to join the classes using a JPA annotation.

Here is the second problem. How can I have 1 table for 2 classes. Someone (smarter than me) told me to use the @JoinTable, but form my searches with google, I think I need to use @Inheritance(strategy=InheritanceStrategy.JOINED)

Can I use the @JoinTable too?

올바른 솔루션이 없습니다

다른 팁

Yours is a case of inheritance:

  1. add the @Inheritance(stretegy=InheritanceStrategy.SINGLE_TABLE) annotation on your Super
  2. add the @DiscriminatorColumn annotation (and setting its attributes name and discriminatorType) (again on the Super)
  3. on each subclass extend the Super, and add the annotation @DiscriminatorValue, with different value for each of the subclasses.

If you are new to Hibernate, you should read its documentation. Inheritance strategies are explained here and using annotations to express inheritance strategy is explained here

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top