Mybatis将COALESCE(int,0)映射到java.lang.Long

假设我有一个包含两个cols name (varchar(64))& value (int(11))的数据库table ,当我使用:

 @Select("SELECT table.name table.value FROM table") fun list(): List<Item> 

table.valuetable.value映射到java.lang.Integer ,但如果我使用COALESCE将默认值应用于0:

  @Select("SELECT table.name COALESCE(table.value, 0) FROM table") fun list(): List<Item> 

table.valuetable.value映射到java.lang.Long

为什么?