У меня есть 3 объекта в иерархии:
Request.java
@Entity
@Table(name="Request")
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="REQUEST_TYPE", discriminatorType=DiscriminatorType.INTEGER)
@NamedQuery(name="getRequestsById", query="select r from Request r where r.id=:id and r.status=100")
public abstract class Request implemenst Serializable {
...
}
MedicineRequest.java
@Entity
@Table(name="MED_REQUEST")
public abstract class MedicineRequest extends Request {
...
}
ExtendedMedicineRequest.java
@Entity
@Table(name="EXT_MED_REQUEST")
@DiscriminatorValue("1")
public class ExtendedMedicineRequest extends MedicineRequest {
...
}
Когда я пытаюсь выполнить вышеуказанный запрос, getRequestsById
, я получаю следующее сообщение об ошибке:
Невозможно создать экземпляр абстрактного класса типа «Запрос» с идентификатором объекта «Request-RequestPK @ c49aa166»; это может указывать на то, что дискриминатор наследования для класса настроен неправильно.
Все сущности определены правильно в persistance.xml, имя столбца дискриминатора тоже корректно. В чем может быть дело ??