Я столкнулся с проблемой при написании тестов для приложения базы данных с использованием JPA2 и EclipseLink:
Я добавляю какую-то сущность в базу данных, получаю ее позже и хочу сравнить ее с экземпляром, значения которого, как я ожидаю, подтвердят, что это дополнение работало так, как я планировал.
Сначала я написал что-то вроде
assertEquals(expResult, dbResult);
, что не удалось, потому что я не могу знать значение поля id
, которое генерируется базой данных и поэтому dbResult
отличается от expResult
, который я создал с помощью new
и заполнил вручную.
Я вижу два варианта:
Либо я удаляю поле id
из equals
и hashCode
, чтобы сравнение основывалось только на "реальных значениях". Я не знаю, вызывает ли это проблемы в базе данных или где-то еще.
Или я пишу свои тесты для явной проверки каждого поля, кроме id
вручную.
Что мне делать?