PSQLException: ОШИБКА: нулевое значение в столбце «free_timeslots» нарушает ненулевое ограничение - PullRequest
1 голос
/ 15 февраля 2020

Я не уверен, что это проблема с тем, как Hibernate или Spring Data понимают мой ввод. В своем проекте на бэкэнде я использую Java + Spring Data + Hibernate + PostgreSQL.
Моя проблема заключается в том, что когда я пытаюсь сохранить в базе данных объект Java, который содержит массив с элементами, я получаю сообщение об ошибке из своей базы данных PostgreSQL:
org. postgresql .util. PSQLException: ОШИБКА: нулевое значение в столбце «free_timeslots» нарушает ненулевое ограничение
Я действительно не понимаю, что здесь происходит, поскольку из того, что я вижу в отладчике, я предоставляю правильный объект для хранилище (JpaRepository, которое выглядит так:

import com.ap.personalassistant.model.DayTimeSlots;
import org.springframework.data.jpa.repository.JpaRepository;

public interface DayTimeSlotsRepository extends JpaRepository<DayTimeSlots, Long> {
}

)
Объект, который я предоставляю:
enter image description here
DayTimeSlots класс это выглядит так:

import com.ap.personalassistant.dto.DayTimeSlotsDto;
import lombok.AccessLevel;
import lombok.Data;
import lombok.Setter;

import javax.persistence.*;
import java.time.LocalDate;
import java.util.List;

@Data
@Entity
@Table(name = "day_timeslots")
public class DayTimeSlots {

    @Id
    @Setter(AccessLevel.NONE)
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long id;
    private LocalDate date;
    @Column(name = "free_timeslots")
    @ElementCollection
    private List<Long> freeTimeSlotsIds; // possible from 62 to 109

    public DayTimeSlots() {
    }
    public DayTimeSlots(DayTimeSlotsDto dayTimeSlotsDto) {
        this.id = dayTimeSlotsDto.getId();
        this.date = dayTimeSlotsDto.getDate();
        this.freeTimeSlotsIds = dayTimeSlotsDto.getFreeTimeSlotsIds();
    }
}

И в базе данных у меня есть таблица с именем day_timeslots со следующими столбцами:

  • id (bigint)
  • дата (дата)
  • free_timeslots (bigint [])


Может ли кто-нибудь помочь мне с этим? Я искал в inte rnet ответы, но пока ничего не получалось.

...