Org.hibernate.InstantiationException: нет конструктора по умолчанию для сущности: com.domaine.AnomalieAck

Zakaria Marrah спросил: 11 марта 2019 в 07:43 в: java

Я пытаюсь сохранить значение enum в базе данных, но сработало исключение, вот мое отображение:

@Entity
public class Anomalie {    @Embedded
    private AnomalieAck ack = AnomalieAck.NON_ACQUITTEE;    public Anomalie() {
    }
/*getters and setters*/
}

// AnomalieAck.java

public enum AnomalieAck {    NON_ACQUITTEE(0),    ACQUITTEE_APP1 (1),    ACQUITTEE_APP2(2),    /** Aacquittee en erreur. */
    ACQUITTEE_ERREUR(10),    @Column(name = "ANO_ACK")
    private int ack = 0;  private AnomalieAck() {    }  private AnomalieAck(final int value) {
    this.ack = value;
   }
  public int getValue() {
        return this.ack;
    }
  public void setAck(int ack) {
        this.ack = ack;
    }
}

Причина, по которой я не использовал @Enumerated(EnumType.STRING) или @Enumerated(EnumType.ORDINAL), заключается в том, что в базе данных поле ANO_ACK объявлен как число, и есть много других ресурсов, которые используют это значение как число.

Я проверил все: конструктор no-args уже определен, реализован метод установки.

Что я могу сделать, чтобы Hibernate создал этот класс?

0 ответов