Лучшие практики для полиморфного JPA через аннотации

Я пытаюсь настроить полиморфное поведение, используя Hibernate с аннотациями JPA.

Это кажется разумным (возможно, даже необходимо) создать (абстрактный) класс, инкапсулирующий состояние и поведение, необходимые для иерархии наследования, чтобы участвовать в постоянстве; например,

  • Мне нужно аннотировать свойство Id, которое я не могу сделать в интерфейсе, не делая поле общедоступным, чтобы избежать «Не указан идентификатор для сущности» исключение для суперкласса
  • Мне нужны подклассы для предоставления DiscriminatorValue, если я использую подход иерархии таблиц для классов

Является ли наследование от абстрактного класса, связанного с постоянством, таким образом, хорошей или плохой практикой? Какие плюсы / минусы? Существуют ли лучшие методы обработки наследования в JPA?

6
задан Cœur 10 April 2017 в 14:22
поделиться