Согласованность данных с шаблоном сопоставления данных - PullRequest
1 голос
/ 20 мая 2011

Я занимаюсь разработкой веб-приложения для планирования логистического распределения.Я использую Java, JSF 2.0 и Oracle-XE в качестве базы данных.В Oracle-XE я реализовал последовательности и триггеры для автоматического увеличения идентификатора некоторых атрибутов.Моя проблема заключается в том, что если я, например, заполняю приложение, чтобы добавить нового клиента, мне нужно извлечь увеличенный идентификатор из базы данных и впоследствии сохранить его в моем объекте клиента.Есть ли другой способ получить увеличенный идентификатор из базы данных напрямую?Мне не нравится решение ВЫБРАТЬ ID из базы данных.

Спасибо

1 Ответ

2 голосов
/ 20 мая 2011

Если вы выдаете SQL непосредственно для базы данных через JDBC (если вы используете слой объектно-реляционного отображения, API, вероятно, поддерживает нечто подобное), вы можете использовать предложение RETURNING во время INSERT.Что-то вроде

INSERT INTO table_name( column1, column2, ... , columnN )
  VALUES( :1, :2, ... , :N )
  RETURNING key_column INTO :new_key

Это вернет значение, которое триггер заполнил для столбца KEY_COLUMN, в переменную связывания :new_key.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...