Два или более пользователя, пытающихся вставить таблицу, получающую исключительное исключение нарушения ограничений в Hibernate. Как обращаться, может кто-нибудь мне помочь. Спасибо заранее.исключительное исключение нарушения ограничений в Hibernate
ответ
Эта ошибка всегда появляется, если вы хотите вставить строку со значением в столбце с уникальным индексом или ограничением, а вставленное значение для этого столбца уже существует в другой строке. Это может быть проблемой при одновременном доступе в многопоточных средах.
В зависимости от источника проблемы существуют некоторые стратегии для его решения:
- Используйте генератор (последовательность или аналогичный) для генерации уникального идентификатора. Hibernate помогает вам с тегом <generator>
внутри тега <id>
.
- Используйте <version>
тег, чтобы избежать одновременного изменения одного и того же объекта
- написать метод, который создает уникальные значения
- синхронизировать части кода с Java synchronized
заявление
- использовать сессионные и после исключения повторной попытки вставить с новым значением
- правильные логические ошибки в коде
- и еще немного ...
I проверит его с вашей доброй информацией. Спасибо Джоанна. – Ganesamoorthy
Вы должны принять один из ответов на ваши предыдущие вопросы, иначе люди перестанут отвечать на ваши вопросы. –
проверить ID генератора stratergy для [передать этот вопрос более подробно о генерации ID] [1] [1]: http://stackoverflow.com/questions/495536/hibernate-id-generator –