Я пишу несколько тестов для моего DAO, и поскольку во многих тестах используется тестовый объект, который сохраняется в моей базе данных, я создал метод setup () и teardown () с аннотациями @Before и @After соответственно, чтобы избежать избыточного кода, но один из тестов, на самом деле тот, который действительно не нуждается в тестовом объекте, вызывает метод в DAO, который содержит вызов getCurrentSession (). Clear () (это метод, который использует ScrollableResults чтобы получить данные из базы данных в пакетном режиме и избежать заполнения памяти, она вызывает flush () и clear () через каждые 50 строк. Это создает проблему, поскольку clear () фактически удаляет тестовый объект, созданный в setup () из сеанса, поэтому при вызове teardown () я получаю сообщение об ошибке:
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [nl.ru.cmbi.pdbeter.core.model.domain.PDBEntry#395]
Есть ли способ сказать JUnit не использовать setup () и teardown () в этом тесте, или лучше поместить все тесты, которые на самом деле не нуждаются в setup () и teardown (), в новый тестовый класс?