![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| unkis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
Здравствуйте, у меня такая странная ситуация.
Я сохраняю в базу 5000 записей. Так вот когда я сохраняю по одной записи в транзакцию, то всё в порядке, успешно сохраняются все 5000 записей, правда очень медленно, но вот когда я сохраняю по 50 за одну транзакцию то вылетает ошибка следующего содержания.
Вопрос, почему по одной записи сохранение происходит нормально, а по 50 с ошибкой? От чего это может зависеть? -------------------- www.unkis.com |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 7 Всего: 54 |
Вы создаёте объекты? Если да, поменяйте генератор ключей.
Какой способ гереации ключей используете? -------------------- ![]() ![]() |
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: 6 Всего: 14 |
А это разве не из-за того, что JDBC драйвер не поддерживает batch update?
Может надо поставить в cfg.xml вот так?
|
|||
|
||||
| ekr |
|
|||
![]() ...и это пройдет... ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 6.5.2007 Где: Moscow, RU Репутация: 12 Всего: 19 |
||||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 7 Всего: 54 |
Нет. Скорее всего нету автоинкремента для ключей в таблице и генератор используется вроде +1 или MAX. Это сообщение отредактировал(а) w1nd - 17.6.2007, 15:28 -------------------- ![]() ![]() |
|||
|
||||
| unkis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 802 Регистрация: 8.9.2004 Репутация: нет Всего: 1 |
Поменял помогло, но всё равно не понятно, значит если по одной записи за транзакцию сохранять, то с ключами всё в порядке, а вот если пачками за транзакцию, то ему не нравится, ведь и в первом и во втором случаи ключи одинаковые. Странно всё это как-то -------------------- www.unkis.com |
|||
|
||||
| ekr |
|
|||
![]() ...и это пройдет... ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 6.5.2007 Где: Moscow, RU Репутация: 12 Всего: 19 |
да нет, нормальная ситуация. просто при вставке нескольких записей, пока не подтверждена транзакция , считается, что их еще нет (если уровень изоляции транзакций нормальный выставлен). поэтому многие алгоритмы генерации ключей могут здесь обламываться, если они вида "вставить запись - посмотреть мак. значение ключевого поля - инкрементировать его". |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |