Форум программистов, компьютерный форум, киберфорум
REST API
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 27.11.2018
Сообщений: 30

SpringBoot REST API error: Column cannot be null (Kotlin)

01.08.2022, 18:31. Показов 901. Ответов 1

Студворк — интернет-сервис помощи студентам
Есть 2 класса: User и Ticket. Они связаны OneToMany.
Из-за чего выдает такое при удалении ticket из бд(MySQL):
Hibernate: update ticket set user_id=null where user_id=? and id=?

2022-08-01 18:06:23.826 WARN 10212 --- [nio-8080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper :
SQL Error: 1048, SQLState: 23000

2022-08-01 18:06:23.827 ERROR 10212 --- [nio-8080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper :
Column 'user_id' cannot be null

2022-08-01 18:06:23.828 INFO 10212 --- [nio-8080-exec-8] o.h.e.j.b.internal.AbstractBatchImpl :
HHH000010: On release of batch it still contained JDBC statements

USER
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
@Entity
class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    var id: Int = 0
    var name: String = ""
    var email: String = ""
    var password: String = ""
        @JsonIgnore
        get
        set(value) {
            val passwordEncoder: PasswordEncoder = BCryptPasswordEncoder()
            field = passwordEncoder.encode(value)
        }
 
    @Enumerated(value = EnumType.STRING)
    var role: Role = Role.USER
 
    @OneToMany(cascade = [CascadeType.ALL])
    @JoinColumn(name = "userId")
    var tickets: MutableList<Ticket> = ArrayList()
 
    fun comparePassword(password: String): Boolean {
        return BCryptPasswordEncoder().matches(password, this.password)
    }
 
    fun deleteTicketByTicketId(ticketId: Int) {
        for (i in 0..(tickets.size - 1)) {
            if (tickets[i].id == ticketId) {
                tickets.removeAt(i)
            }
        }
    }
}
TICKET
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Entity
class Ticket {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    val id: Int = 0
 
    @JsonIgnore
    var userId: Int = 0
    var fromCity: String = ""
    var toCity: String = ""
    var planeNumber: String = ""
    var place: Int = 0
    var date: String = ""
    var time: String = ""
}
Метод для удаления тикета
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@DeleteMapping("{ticketId}")
    fun deleteTicket(@PathVariable ticketId: Int, @CookieValue("jwt") jwt: String?): ResponseEntity<Any> {
        try {
            if (jwt == null) {
                return ResponseEntity.status(401).body("unauthenticated")
            }
            //get user
            val userFromDB = getUserFromJWT(jwt)
            println("1")
            //remove ticket from user.List<Ticket>
            userFromDB.deleteTicketByTicketId(ticketId)
            println("2")
            //remove ticket from DB
            ticketService.deleteById(ticketId)
            println("3")
            return ResponseEntity.ok("success")
        } catch (e: Exception) {
            println("4")
            return ResponseEntity.status(401).body("unauthenticated")
        }
    }
метод из TicketService для удаления тикета. ВОТ ИМЕННО НА НЕМ ОШИБКА ПРОИСХОДИТ.
Java
1
2
3
4
fun deleteById(id: Int){
        val ticket = ticketRepository.findById(id).get()
        ticketRepository.delete(ticket)
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.08.2022, 18:31
Ответы с готовыми решениями:

UPDATE SELECT, ERROR: null value in column violates not-null constraint
Здравствуйте. Две таблицы, из одной значением integer модифицируется int другой таблицы. В таблице-приёмнике ограничение NOT NULL. ...

Как реализовать OneToMany/ManyToOne для REST API&Kotlin
Проблемав том, что когда передайю JSON без user, то выдает ошибку: value failed for JSON property user due to missing (therefore NULL)...

Cannot insert the value NULL into column 'Id', table '.dbo.Records';column does not allow nulls
Уважаемые, т.к. мой мозг не способен понять, почему вылазит данное исключение, когда я добавляю строку и в ней поле Id - не NULL, надеюсь...

1
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,243
20.10.2022, 13:00
Цитата Сообщение от YukiAma2007 Посмотреть сообщение
update ticket set user_id=null where user_id=? and id=?
SQL
1
DELETE FROM ticket WHERE user_id=? AND id=?;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2022, 13:00
Помогаю со студенческими работами здесь

Ошибка "validation error for column NUMDOCTYPE, value "*** null ***""
Здравствуйте. В базе данных одна из таблиц (ReceivedDocument) имеет три внешних ключа, связывающих её с двумя другими таблицами...

OperationalError: no such column. In Django Rest Framework
Есть маленький проект - API Блога с комментариями. Когда пытаюсь удалить статью появляется такая вот ошибка: Exception...

Null value in column "user_id" violates not-null constraint save()
Хочу сделать импорт данных из файла Excel. все данные берутся нормально но он выдает ошибку, сам файл в котором лежит код вызывается по...

Функции для работы с Google Drive API v3 через REST API в C++ Builder
Выкладываю функции для работы с Google Drive API v3 через REST API в C++ Builder, так-как в Интернете примеров очень мало: Работа с...

Что такое API/REST API, NODE.js, Express?
Всем, доброго дня! Не так давно, я серьёзно задался вопросом, как разделить код в проекте и как происходит взаимосвязь проекта с базой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru