Mapper конфликтует с самим собой?

У меня появляется сообщение при попытке запустить сервер JBoss с приложением с двумя сопоставителями myBatis

XML fragments parsed from previous mappers already contains value for workSql

Забавный момент заключается в том, что элемент sql workSql находится в одном только маппере. И существует только один раз. Я тоже это проверил поиском по файлам.

Аналогичная проблема, в MyBatis: Ошибки при обновлении до 3.2.7 с 3.0.3, про сообщение

Mapped Statements collection already contains value for com.foo.FooDao.java

отличается, поскольку речь идет не об элементе sql, а обо всем картографе MyBatis, на который ссылаются в контексте Spring. И квитанция на это не подойдет и для моего случая - у моих картографов уже есть пространства имен, и они не помогут.

1 ответ

Похоже, что если картографы точно не названы, MyBatis в некоторых ситуациях пытается прочитать их более одного раза, и они конфликтуют сами с собой.

Квитанция должна была установить все мапперы в файле configuration.xml:

<mappers>
    <mapper resource="amcssz/spr/srv/main/batis/ReportsMapper.xml"/>
    <mapper resource="amcssz/spr/srv/main/batis/SprMapper.xml"/>
</mappers>

Все конфликты исчезли.

Другие вопросы по тегам