Как устранить NullPointerException при обновлении базы данных - PullRequest
1 голос
/ 30 сентября 2019

Я новичок Jooq. Я пытаюсь обновить столбец с именем состояния учетной записи в моей таблице пользователей с UNLOCKED на LOCKED. Я использую запрос на обновление, используя dslContext от Jooq.

Я вызываю этот метод updateAccountStatus в моем контроллере. Но этот метод дает мне исключение NullPointerException.

public boolean updateAccountStatus(String userhandle,UsersAccStatus usersAccStatus) { 
try {
dslContext
                    .update(USERS)
                    .set(USERS.ACC_STATUS,UsersAccStatus.LOCKED)
                    .where(USERS.USER_HANDLE.equal(userHandle))
                    .execute();
 }
catch(Exception e) {
// code
}
}

Я ожидаю, что выходные данные этого метода обновят мое перечисление account_status в моей базе данных. Сообщение об ошибке: -

java.lang.NullPointerException: null
    at com.core.admin.controller.AdminAccountStatus.execute(AdminAccountStatus.java:84) ~[classes/:na]

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 30 сентября 2019

1) В следующей строке вы непосредственно используете класс UsersAccStatus, если вы объявили LOCKED как статический, тогда хорошо, если вам нужно использовать объект класса ( U sersAccStatus), которыйis u sersAccStatus (строчными буквами)

2) Измените следующий код

ОТ:

.set(USERS.ACC_STATUS,UsersAccStatus.LOCKED)

TO:

 .set(USERS.ACC_STATUS,usersAccStatus!=null ? null : usersAccStatus.LOCKED)

Дайте мне знать, сработало ли это для вас.

С уважением, Анураг

...