Если идентификационное поле объекта JPA будет рассматриваться в равных и хэшкоде?

Я ударил проблему при написании тестов для приложения базы данных с использованием JPA2 и ECLIPSELINK:

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

Сначала я написал что-то вроде

assertEquals(expResult, dbResult);

, что не удалось, потому что я не могу знать значение поле , которое генерируется базой данных, и, следовательно, dbresult expresult , который я создал с новым и заполнил вручную.

Я вижу два варианта:

  • , либо вынимаю поле ID из , равно и HASHCODE , чтобы сравнение только основано только на «реальном значения". Я не знаю, вызывает ли это проблемы в базе данных или в другом месте.

  • Или я пишу свои тесты, чтобы явно проверить каждое поле, за исключением ID вручную.

Что мне делать?

15
задан soc 7 September 2011 в 21:39
поделиться