J'ai trouvé une solution avec la condition
metaData.getColumnType(columnNumber) == 12
si cette condition est satisfaite, exécutez la requête
SELECT System_Type_Id FROM Sys.Columns WHERE Name = [column name] AND Object_Id = (SELECT Object_Id FROM Sys.Tables WHERE Name = [table name])
pour smalldatetime
il renverra 58
et pour datetime
il retournera 61
.