Исключение карты dozer, связанное с Spring boot devtools

Я столкнулся с очень странным исключением, и я не знаю, как найти причину.

Бизнес фон: добавить товар, а пока это прайс-лист, товары имеют 5 цен для пользователя разного уровня.

В контроллере сначала конвертируйте goodForm в товары с помощью dozer, затем вызывайте goodsService для сохранения товаров. В goodsService после сохранения товаров, обхода прайс-листа товаров и заполнения товаров в цене товара,

GoodsForm:
@Mapping("priceList")
List<GoodsPriceForm> goodsPriceFormList;
Goods:
List<GoodsPrice> priceList;

Controller: 
Goods goods = BeanMapper.map(goodsForm, Goods.class);
goodsService.saveGoods(adminId, goods);

GoodsService:
goodsDao.save(goods);
goods.getPriceList().forEach(p -> p.setGoodsId(goods.getId()));
goodsPriceDao.save(goods.getPriceList());

Но это исключение

2015-11-27 17:10:57,042 [http-nio-8081-exec-8] ERROR o.a.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: com.foo.goods.model.GoodsPrice cannot be cast to com.foo.goods.model.GoodsPrice] with root cause
java.lang.ClassCastException: com.foo.goods.model.GoodsPrice cannot be cast to com.foo.goods.model.GoodsPrice
at com.foo.goods.service.GoodsService$Lambda$11/310447431.accept(Unknown Source) ~[na:na]
at java.util.ArrayList.forEach(ArrayList.java:1249) ~[na:1.8.0_51]
at com.foo.goods.service.GoodsService.saveGoods(GoodsService.java:34) ~[classes/:na]

Это сообщение об ошибке позволяет мне чувствовать себя очень смущенным. Кроме того, я написал модульное тестирование хотел повторить это, но не удалось.

GoodsForm form = new GoodsForm();
form.setGoodsPriceFormList(Lists.newArrayList(new GoodsPriceForm((byte) 1, BigDecimal.valueOf(10)),
new GoodsPriceForm((byte) 2, BigDecimal.valueOf(9)),
new GoodsPriceForm((byte) 3, BigDecimal.valueOf(8))));

Goods goods = BeanMapper.map(form, Goods.class);
goods.getPriceList().forEach(p -> p.setGoodsId(goods.getId()));

Запустите этот модульный тест, он выполняется нормально. Так почему в реальной веб-ситуации (Spring boot + Jpa) это не удалось, а в модульном тесте все нормально?

Controller:
System.out.println("PriceList: " + goods.getPriceList().getClass().getClassLoader());//PriceList: null
System.out.println(goods.getPriceList().get(0).getClass().getClassLoader()); //java.lang.ClassCastException: com.foo.goods.model.GoodsPrice cannot be cast to com.foo.goods.model.GoodsPrice

Если я сгенерировал упакованную банку, то выполните эту банку

java -jar target/myapp.jar

В этом случае без исключения.

И я прокомментировал spring-boot-devtools в pom.xml, затем запустил приложение без исключения.

Ответы на вопрос(2)

Ваш ответ на вопрос