Я пытаюсь сохранить перечисление Value в базе данных, но сработало исключение, вот мое отображение:
@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 объявлено как число, и существует множество других ресурсов, которые используют это значение как номер.
Я проверил все: конструктор без аргументов уже определен, реализован метод установки.
Что я могу сделать, чтобы позволить Hibernate создать экземпляр этого класса?