Как унаследовать модель от суперкласса в playframework
Я пытаюсь понять, как наследование работает в игре! Но пока безуспешно.
Итак, у меня есть такой суперкласс:
@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;
}
И 2 унаследованных класса:
@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;
}
}
Также у меня есть 2 контроллера для унаследованных классов:
public class Subs and Sub1s extends CRUD {
}
После запуска приложения я получаю 2 таблицы в базе данных MySQL для моих моделей (Sub и Sub1) с такой структурой:Я бы BIGINT (20),имя VARCHAR (255). БезtestVal который находится в суперклассе.
И когда я пытаюсь создать новый объектSub класс в интерфейсе CRUD получаю такую ошибку:Произошла ошибка выполнения в шаблоне {module: crud} /app/views/tags/crud/form.html. Исключение былоMissingPropertyException: Нет такого свойства: testVal для класса: models.Sub.
В {module: crud} /app/views/tags/crud/form.html (около строки 64)# {crud.numberField name: field.name, value: (currentObject? currentObject [field.name]: null) /}
Что я должен сделать, чтобы правильно сгенерировать таблицы MySQL для унаследованных моделей и исправить ошибку?Можно ли иметь один суперконтроллер для нескольких унаследованных классов?