Esta es una limitación conocida del validador de esquema, marque HHH-2315 . Entonces tiene tres opciones aquí (en realidad cuatro, pero supongo que no se desea desactivar la validación). O bien:
-
Usa un
float
en lugar de undouble
en el nivel de Java; sin embargo, esta podría no ser una opción. -
Parche
org.hibernate.mapping.Table.validateColumns(Dialect dialect, Mapping mapping, TableMetadata tableInfo)
para agregar una condición especial para este caso en particular; esta no es realmente una opción ligera. -
Extiende el
org.hibernate.dialect.Oracle10gDialect
para hacerlo usafloat
para el tipo SQLDOUBLE
public class MyOracle10gDialect extends Oracle10gDialect { public MyOracle10gDialect() { super(); } protected void registerNumericTypeMappings() { super.registerNumericTypeMappings(); registerColumnType( Types.DOUBLE, "float" ); } }
La última opción parece segura, pero requerirá algunas pruebas para ver si no presenta ninguna regresión. No miré el código del controlador JDBC de Oracle, por lo que no puedo decir cómo float
y double precision
difieren en el nivel del controlador.