заменить на дубликат с простымJdbcInsert - PullRequest
2 голосов
/ 06 марта 2012

Я использую tomcat для своей серверной части с Mysql Server 5.5.

Я использую Spring Framework для подключения к базе данных.

Я хотел бы иметь возможность вставить строку в таблицу с помощью simpleJdbcInsert. если вставка не удалась из-за дублирования, я хочу заменить дублирующую строку.

Есть ли способ сделать это simpleJdbcInsert или я должен просто использовать jdbcTemplate и создать запрос по запросу с помощью оператора "ON DUPLICATE"?

спасибо

1 Ответ

1 голос
/ 06 марта 2012

логически, дублирование происходит при наличии двойного первичного ключа.

поэтому, если вы используете традиционный JDBC или даже Hibernate, то вам следует проверить, существует ли такое же значение первичного ключа, прежде чем вставлятьновый.

, но если первичный ключ еще не установлен или будет установлен СУБД, возникнет другая проблема.

  1. в JDBC, сновавам нужно выполнить проверку старого стиля вручную, выполнив запрос перед вставкой нового, но

  2. в Hibernate, вам просто нужно обновить его.Hibernate создаст новый, если дубликатов нет, но заменит его, если есть дубликат.

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