HibernateException: Wrong column type: ?, expected: varchar(2)

Esto ocurre por un bug de hibernate.

El problema es que una columna de tipo ENUM en MySQL es representada como CHAR(2) (String en java) y el HibernateValidator espera que la columna sea de tipo VARCHAR(2)
Aquí podemos ver lo que indica el ResultSetMetaData:

ResultSetMetaData
rsmd.getColumnType :1
rsmd.getColumnTypeName:CHAR
rsmd.getColumnDisplaySize:1

Una solución (al menos hasta que el bug sea solucionado) es desactivar el HibernateValidator. Para ello comenta la siguiente línea en el archivo persistence.xml

<!–property name=»hibernate.hbm2ddl.auto» value=»validate»/–>

Más Info

Conocimiento Open Source 

Desde siempre intentamos aplicar la filosofía Open Source también con el conocimiento, por ello nació el Blog Open Source, donde nuestros desarrolladores comparten notas, consejos y tutoriales sobre tecnología y desarrollo, soluciones a problemas diarios, bugs o cualquier información que creemos, puede ser interesante.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *