Ho trovato una soluzione con la condizione
metaData.getColumnType(columnNumber) == 12
se questa condizione è soddisfatta, eseguire la query
SELECT System_Type_Id FROM Sys.Columns WHERE Name = [column name] AND Object_Id = (SELECT Object_Id FROM Sys.Tables WHERE Name = [table name])
per smalldatetime
restituirà 58
e per datetime
restituirà 61
.