Hola!
Un ResulSetMetaData se utiliza cuando desconoces cuantos son los datos de la cabecera de base de datos y cual es su tipo.
Pero ¿como se puede diferenciar sin saber nada de la base de datos, como el dato (tanto el metadato como el dato en cuestion), puede ser de un tipo o de otro, para sacarlos por pantalla de una aplicacion web ?.
Sin utilizar el log de un entorno de desarrollo como pista, para que te diga una vez hecho el getColumnsCount y haber hecho despues en un bucle el getColumnTypeName, cual es el nombre cabecera y tipo de dato.
Saludos.