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
floaten lugar de undoubleen 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.Oracle10gDialectpara hacerlo usafloatpara el tipo SQLDOUBLEpublic 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.