Cómo heredar un modelo de superclase en playframework
¡Estoy tratando de entender cómo funciona la herencia en juego! Pero sin éxito todavía.
Entonces, tengo tal superclase:
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
abstract class SuperClass extends Model {
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "SEQ_TABLE")
@TableGenerator(name = "SEQ_TABLE")
Long id;
int testVal;
}
Y 2 clases heredadas:
@Entity
public class Sub extends SuperClass {
String name;
@Override
public String toString() {
return name;
}
}
@Entity
public class Sub1 extends SuperClass {
String name;
@Override
public String toString() {
return name;
}
}
También tengo 2 controladores para clases heredadas:
public class Subs and Sub1s extends CRUD {
}
Después de iniciar la aplicación, recibo 2 tablas en MySQL db para mis modelos (Sub y Sub1) con dicha estructura:carné de identida bigint (20),nombr varchar (255). Sin testVal que está en la superclase.
Y cuando intento crear un nuevo objeto deSu clase en la interfaz CRUD Recibo dicho error:e produjo un error de ejecución en la plantilla {módulo: crud} /app/views/tags/crud/form.html. La excepción planteada fueMissingPropertyException: No existe dicha propiedad: testVal para la clase: models.Sub.
In {module: crud} /app/views/tags/crud/form.html (alrededor de la línea 64) # {crud.numberField name: field.name, value: (currentObject? currentObject [field.name]: null) /}
¿Qué debo hacer para generar tablas MySQL para modelos heredados correctamente y corregir el error?Es posible tener un solo supercontrolador para varias clases heredadas?