Как определить значение не нулевое в базе данных при обновлении JPA? - PullRequest
0 голосов
/ 01 октября 2019
CREATE TABLE `user_info` (
`user_info_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nickname` varchar(40) NOT NULL,
`email` varchar(100) 
)

это моя таблица базы данных , база данных имеет идентификатор записи A = 1, псевдоним = test, email = null

UserInfo info = new UserInfo();
info.setUserInfoId(1);
info.setEmail("hello@hotmail.com");

Когда я обновляюсь с помощью вышеуказанного кода, столбец ошибки 'псевдоним' не можетbe null происходит!

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

Дополнительное объяснение:

Предполагая, что мой интерфейс отправляет мне только идентификатор и электронную почту, как я могу его обновить? Использовать SQL возможно, но JPA должен требовать псевдоним не ноль

Как решить эту проблему? ТНХ

1 Ответ

1 голос
/ 01 октября 2019

Способ обновить существующую запись - это загрузить запись, обновить все столбцы, требующие обновления, и затем сохранить ее, , а не , создав новый объект.

UserInfo info = userInfoRepository.findById(1);
info.setEmail("hello@hotmail.com");
userInfoRepository.save(info);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...