![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| _sten_ |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: 3 Всего: 3 |
Есть ентити класс и замаплен:
для генирации ид используется GenerationType.IDENTITY стратегия которая оначает что ид будет пропущен в инесерте(будет сгенерирован БД через значение по умолчанию) вот DDL для таблички(PostgreSQL):
сохраняем ентити с помощью хибернета:
вот все что пишет хибернет:
(без ид) не понятно как хибернет узнает ид в последней строке... ведь ид было сгенерено базой(через сиквесн) без использования хибернета, и хибернет ни писал никаких селектов бля определения ид... Это сообщение отредактировал(а) _sten_ - 19.2.2010, 21:04 --------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
||||||||
|
|||||||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Интересный вопрос. Возможно, прозвучит глупо, но все же спрошу - System.out.println("id: " + item.getId()); действительно выводит id созданной записи? Если да, тогда посмотрите консоль, не было ли селекта.
|
|||
|
||||
| _sten_ |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: 3 Всего: 3 |
да, действительно System.out.println("id: " + item.getId()); выводит ид.
из доки по Session интерфейсу:
тоесть можно сделать и так:
все что есть на консоли указано выше. --------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
||||
|
|||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Все, что мне удалось найти на этот счет - это
Видимо hibernate вызывает эти функции. |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 5 Всего: 75 |
Может быть, дело в этом:
Более подробная документация -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| _sten_ |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: 3 Всего: 3 |
продебажил выяснил что хибернет пишет:
типа инсерт и селект вместе))) терь все стало на свои места осталось только выяснить входит ли этот RETURNING в стандарт SQL или это чисто фишка Postgre --------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
|||
|
||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Маловероятно, я три раза запускал тест, а перед третьим запуском поменял авто_инкремент на 100. Это сообщение отредактировал(а) MaxPayneC - 19.2.2010, 23:08 |
|||
|
||||
| _sten_ |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: 3 Всего: 3 |
кто то что знает об этом RETURNING? что то не могу ничего нагуглить...
Добавлено через 8 минут и 22 секунды вот нашел:
значит RETURNING - это фишка чисто постгри интересно как хибернет решает эту проблему с другими СУБД --------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
|||
|
||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
||||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 5 Всего: 75 |
http://www.oracle-developer.net/display.php?id=413 Экспериментально выяснилось, что как минимум 11.1.0.6.0 эту конструкцию поддерживает Это сообщение отредактировал(а) jk1 - 24.2.2010, 16:33 -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| _sten_ |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: 3 Всего: 3 |
спасибо, проблема решена
--------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
|||
|
||||
![]()
|
| Правила форума "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. |