The Derby Reference Manual says that NUMERIC is a synonyn for DECIMAL. If you create a NUMERIC column, the Derby client DatabaseMetaData reports that the type is java.sql.NUMERIC. However, if you select from the table, the ResultSetMetaData reports that the type is java.sql.DECIMAL.
I don't really care what type we report. I just think we should be consistent.