Я использую mybatis для обобщенной c реализации операции CRUD через наше приложение, и она работала нормально с Spring boot 2.1.1.RELEASE и mybatis-spring-boot-starter: 2.1.0, однако, когда я обновил версию до Spring boot 2.2.1.RELEASE и версия mybatis-spring-boot-starter.2.1.1, в которой она начала давать сбой.
Что я имею в виду под ошибкой, если я храню java .lang.Integer как затем значение в Map при сохранении его преобразуется в String и получает исключение, например - org. postgresql .util.PSQLException: ERROR: столбец "column_name" имеет тип Numberri c, но выражение имеет тип символов, меняющихся.
Класс Mapper
@Mapper
public interface GenericMapper {
public void add(@Param("tablename") String tablename, @Param("fieldMap") Map<String, Object> fieldMap);
}
Mapper XML
<insert id="add" >
INSERT INTO ${tablename}
<foreach item="item" index="key"
collection="fieldMap.entrySet()" open=" (" separator="," close=") " >
${key}
</foreach>
VALUES
<foreach item="item" index="index"
collection="fieldMap.entrySet()" open=" (" separator="," close=")">
#{item}
</foreach>
</insert>
Любое предложение будет высоко оценено.