У меня есть тип ENUM, определенный в схеме моей базы данных, и я использование Spring Data JPA с Hibernate для моего приложения Java. Я хочу сопоставить этот тип ENUM с атрибутом в моем классе сущностей JPA, но у меня возникают проблемы с целостностью данных при извлечении данных из базы данных.
Вот мое определение ENUM в базе данных :
Код: Выделить всё
ENUM('EQUIPOS', 'CUENTAS', 'WIFI', 'INTERNET', 'SOFTWARE')
Код: Выделить всё
public enum TipoEnum {
EQUIPOS,
CUENTAS,
WIFI,
INTERNET,
SOFTWARE
}
Код: Выделить всё
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class MyEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// How do I properly map this ENUM type to my database column?
private TipoEnum tipo;
// Getters and setters...
}
Как правильно сопоставить тип ENUM из моей базы данных с моим классом сущностей JPA с помощью Spring Data JPA и Hibernate? Существуют ли какие-либо конкретные аннотации или конфигурации, которые мне необходимо использовать для обеспечения правильного сопоставления и предотвращения проблем с целостностью данных?
Обнаружено, что значение ошибки «EQUIPOS» находится за пределами допустимого диапазона для типа java. .lang.Byte возникает из-за типа данных ENUM в базе данных.
Создано Java-перечисление TipoEnum для представления значений ENUM, присутствующих в базе данных.
Проверено, что значения ENUM в базе данных являются «EQUIPOS», «CUENTAS», «WIFI», «ИНТЕРНЕТ», «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ».
Убедился, что перечисление TipoEnum в Java соответствует значениям ENUM в базе данных.
Изучил сообщение об ошибке, чтобы понять его. основная причина.
Подробнее здесь: https://stackoverflow.com/questions/779 ... g-data-jpa