Pregunta

Por lo tanto, soy bastante nuevo en hibernación y tengo un problema.

Tengo una clase abstracta (la super-clase, clase súper), y 5 subclases que deben utilizar las propiedades de la superclase y añadir una nueva propiedad (una nueva columna)

Entonces, ¿cómo puedo hacer esto? Debería ampliar la superclase de Java, o no lo suficiente como para unirse a las clases utilizando una anotación de APP.

Aquí está el segundo problema. ¿Cómo puedo tener 1 mesa para 2 clases. Alguien (más lista que yo) me dijo que usara el @JoinTable , sino que forman mis búsquedas con Google, creo que es necesario para el uso @Inheritance (estrategia InheritanceStrategy.JOINED =)

¿Puedo utilizar el @JoinTable también?

No hay solución correcta

Otros consejos

el suyo es un caso de herencia:

  1. añadir la anotación @Inheritance(stretegy=InheritanceStrategy.SINGLE_TABLE) en su Super
  2. añadir la anotación @DiscriminatorColumn (y el establecimiento de su name atributos y discriminatorType) (de nuevo en el Super)
  3. en cada subclase extend la Super, y añadir la @DiscriminatorValue anotación, con un valor diferente para cada una de las subclases.

Si usted es nuevo en hibernación, debe leer su documentación. Estrategias de herencia se explican aquí y el uso de anotaciones para expresar estrategia de heredar se explica aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top