org.hibernate.InstantiationException: Не удалось создать экземпляр абстрактного класса или интерфейса: device.Dispositivo - PullRequest
3 голосов
/ 18 октября 2011

Я разрабатываю приложение, которое должно собирать данные из базы данных.Я использую Hibernate.Когда я запускаю приложение, я получаю следующее исключение:

org.hibernate.InstantiationException: Cannot instantiate abstract class or interface: device.Dispositivo

Мой файл отображения hibernate:

<hibernate-mapping>
   <class name="device.Dispositivo" table="dispositivos" abstract="true">
      <id column="iddispositivo" name="iIdBD" type="java.lang.Integer"/>
      <property column="nombre" generated="never" lazy="false" name="sNombreDispositivo" type="java.lang.String"/>
      <property column="descripcion" generated="never" lazy="false" name="sDescripcion" type="java.lang.String"/>
      <property column="descriptortipodispositivo" generated="never" lazy="false" name="sTipo" type="java.lang.String"/>
      <property column="codigo" generated="never" lazy="false" name="sID" type="java.lang.String"/>
   </class>
</hibernate-mapping>

Класс Dispositivo является абстрактным классом.Я прочитал руководство по Hibernate, и оно объясняет, что это обязательное поле "абстрактный", когда класс.Как я мог решить проблему?

Спасибо !!

1 Ответ

4 голосов
/ 18 октября 2011

Ссылка на Hibernate говорит:

abstract (необязательно): используется для маркировки абстрактных суперклассов в иерархиях.

Сущность может быть абстрактной, только если она является суперклассомдругих конкретных лиц.Если это обычная сущность, сопоставленная с таблицей, как Hibernate создаст экземпляр вашего класса, если он абстрактный?Он не будет волшебным образом реализовывать абстрактные методы вашего класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...