Итак, я знаю, что эти вопросы похожи на дубликат. Но это не так. У меня есть единичный тест, и я запускаю его, и я получаю эту ошибку: Существует более одной строки с данным идентификатором. Поэтому я помещаю точку прерывания, когда это происходит, а затем, когда она зависает на линии, я ее оцениваю и, конечно, получаю ошибку. Если я сразу же оцениваю это во второй раз ... ошибка уходит, и я получаю свой единственный результат, которого я ожидаю. Это похоже на то, что спящий режим как-то не синхронизирован с самим собой. Также я получаю эту ошибку только от модульного теста. У кого-нибудь был такой же опыт? Я пробовал .flush(), .clear()
и всевозможные другие вещи. Когда тест не запущен, в базе данных нет записей с идентификатором, который, по его словам, является дубликатом.hibernate Более одной строки с данным идентификатором
0
A
ответ
0
Аллилуйя! Я нашел проблему. По-видимому, у меня было несколько вызовов DAO.clear()
в методе setup() самого теста. Я не уверен, что они там делали. Или как в случае, если у них будет спящий режим, проблема будет отображаться. Однако, как только я удалил вызовы Hibernate .clear()
из данных тестовой настройки, ошибка исчезла вместе. Я предполагаю, что не слишком много людей/проектов используют вызов Hibernate clear()
, и поэтому, возможно, я нашел какую-то странную ошибку, связанную с этим. берегитесь clear()
.....
0
Попробуйте проверить Entity отношения @OneToOne
, один из обоих объекта будет содержать две записи, поэтому она не сможет найти или загрузку по идентификатору, как результат будет двойной записи.
Смежные вопросы
- 1. org.hibernate.HibernateException: найдено более одной строки с данным идентификатором
- 2. org.hibernate.HibernateException: Более одной строки с данным идентификатором было найдено: 681
- 3. нет строки с данным идентификатором существует hibernate
- 4. nHibernate, не существует строки с данным идентификатором
- 5. JPA Inverse Присоединиться к OneToMany, вызывающему более одной строки с данным идентификатором
- 6. HibernateException: Более одной строки с данным идентификатором был найден: 111, для класса: Tempa
- 7. org.hibernate.ObjectNotFoundException: Ни в одной строке с данным идентификатором не существует
- 8. org.hibernate.ObjectNotFoundException: не существует строки с данным идентификатором
- 9. MySQL: org.hibernate.HibernateException: найдено более одной строки с указанным идентификатором 3
- 10. Fluent NHibernate: более одной строки с заданным идентификатором для класса
- 11. org.hibernate.ObjectNotFoundException: не существует строки с данным идентификатором
- 12. JPA-Hibernate-EJB: Было найдено несколько строк с данным идентификатором
- 13. "org.hibernate.ObjectNotFoundException: не существует строки с данным идентификатором", но она существует
- 14. ObjectNotFoundException: Ни в одной строке с данным идентификатором не существует Hibernate
- 15. Grails/Hibernate: Ни в одной строке с данным идентификатором не существует
- 16. ORACLE: org.hibernate.ObjectNotFoundException: не существует строки с данным идентификатором
- 17. Hibernate как критерии для более чем одной строки
- 18. Hibernate один-к-одному, нет строки с данным идентификатором не существует исключение
- 19. org.hibernate.ObjectNotFoundException: не существует строки с данным идентификатором: запрос одиночной таблицы
- 20. Возвращает null, если «нет строки с данным идентификатором существует»
- 21. hibernate Ошибка сопоставления с идентификатором
- 22. mysql возвращает более одной строки
- 23. COUNT выводит более одной строки
- 24. Grep более одной строки в одной строке
- 25. запроса возвращает более одной строки
- 26. Возвращаясь более одной строки с MySQLi
- 27. Восстановление более одной строки с помощью AsyncTask
- 28. более одной строки, возвращаемой подзапросом
- 29. Подзапросы возвращают более одной строки?
- 30. nl2br более одной новой строки