preservando valores de enum en Hibernate: Solución de problemas de columna incorrecta
en el ámbito de la persistencia de datos, asegurando la compatibilidad entre modelos de datos, esquemas de dato y sus mapas respectivas es esencial. Cuando se trabaja con tipos enumerados en Java, es crucial establecer cómo hibernado asigna estos enumeros a la base de datos subyacente.
en su caso, ha definido una columna MySQL como un enum. Sin embargo, se encuentra con el siguiente error: "Tipo de columna incorrecta en MyApp.person para el género de la columna. Encontrado: Enum, esperado: Integer". This error arises when Hibernate expects the Gender column to be an integer due to the enum being treated as an ordinal or a string, depending on the @Enumerated annotation's specification.
To resolve this issue, you can explicitly specify the column's definition using the columnDefinition attribute:
@Column(columnDefinition = "enum('MALE','FEMALE')")
@Enumerated(EnumType.STRING)
private Gender gender;
proporcionando una definición de columna, le indica a Hibernate que no adivine el tipo de columna, sino para adherirse a la definición especificada.
alternativamente, si no está usando Hibernate para generar su esquema, puede eliminar los valores de la definición de la columna para configurarlos en los valores arbitrarios:
[&] [&] "Enum ('Dummy')") @Enumerated (enumType.string) Privado ManyValueDenum ManyValueDenum;@Column(columnDefinition = "enum('DUMMY')")
@Enumerated(EnumType.STRING)
private ManyValuedEnum manyValuedEnum;
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3