Я только что изменил таблицу place
и ее столбец claimed
следующим образом:
ALTER TABLE place
ADD COLUMN IF NOT EXISTS claimed boolean NOT NULL DEFAULT false;
В phpPgAdmin я вижу, что это работает.Также все начальные значения правильно установлены на false
.
Howerver, так как я создаю новую запись:
this.placeRepository.save(place);
Я получаю:
ERROR: null value in column "claimed" violates not-null constraint
илив целом:
2018-09-21 21:56:47.902 WARN 30087 --- [nio-8443-exec-9] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 23502
2018-09-21 21:56:47.903 ERROR 30087 --- [nio-8443-exec-9] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: null value in column "claimed" violates not-null constraint
Detail: Failing row contains (17, 2018-09-21 19:56:47.885, 2018-09-21 19:56:47.885, ChIJj15CRtukokcRcvSmyJCKGU4, 49.7759560000000008, 9.57715980000000044, Wertheim Village, Almosenberg, Wertheim, null).
2018-09-21 21:56:47.908 INFO 30087 --- [nio-8443-exec-9] m.a.s.e.CustomRestExceptionHandler : org.springframework.dao.DataIntegrityViolationException
2018-09-21 21:56:47.908 INFO 30087 --- [nio-8443-exec-9] m.a.s.e.CustomRestExceptionHandler : org.hibernate.exception.ConstraintViolationException
Я не вижу, в чем здесь проблема.Так почему же значение по умолчанию здесь не генерируется?Мне кажется, что Hibernate просто пытается вставить значение null
?
Я думаю, что это не имеет значения, но просто чтобы быть уверенным, что я также добавил nullable = false
в своем коде Java в столбец класса сущности:
@Column(nullable = false)
private Boolean claimed;