Мы используем Hibernate 4 и Spring 4 и создали простой DAO для управления объектом Task, который имеет поле ENUM.Сохраняемый объект отсутствует значение enum
В нашем первом модульном тесте создан Акк Аккер, который затем создает экземпляр нового объекта Task, устанавливает его поле перечисления и сохраняет объект Task через DAO. Как только актер сделал это, мы вернемся к единичному тестовому потоку, и мы используем DAO для получения объекта Task, который он находит, но поле перечисления равно null. Если я проверю базу данных, столбец перечисления определенно имеет значение.
В нашем втором модульном тесте мы удаляем Акка Аккера из уравнения. Создайте экземпляр задачи, установите поле перечисления и сохраняйте все в модульном тесте. На этот раз, когда мы используем DAO для выполнения поиска, все есть, поле enum включено.
Итак, почему в первом модульном тесте мы не можем получить сохраненную задачу с правильным значением перечисления? Область DAO не установлена, поэтому один и тот же экземпляр DAO должен использоваться как в Актере, так и внутри модульного теста.
Заранее спасибо.
С уважением,
Может быть много вещей: спящий сеанс кеша, кеш второго уровня .. можете ли вы разместить какой-то код? –
Спасибо, Симона, в конце концов, это была наша глупая ошибка. – user3784318