У нас есть DTO
@Getter
@Setter
@NoArgsConstructor
@Table(name = "agenda")
@Entity
@EqualsAndHashCode(of = "id")
public class Agenda implements Serializable {
private static final long serialVersionUID = -4588716014801416553L;
@Id
private String id;
@Version
private Long version = 1L;
@Column(name = "nombre")
private String name;
@JsonIgnore
@OneToMany(mappedBy = "agenda", targetEntity = Timetable.class)
private Set<Timetable> timetables;
}
. В этом dto мы добавили @version of javax.persistence и работаем хорошо, если мы отправили в контроллер json с полевой версией, в другом случаеошибка при попытке сохранить в базе данных.
, например, если мы отправляем:
"agenda": {
"name": "Agenda 1",
"id": "agenda1",
"version": 1
},
работает без проблем, но если мы удаляем версию, она выдает исключение, поэтому мой вопрос, всегда ли поле версии является обязательным ?,
И ошибка такова: не удалось выполнить оператор;SQL [н / п];ограничение [horario_id];вложенное исключение - org.hibernate.exception.ConstraintViolationException: не удалось выполнить оператор ",
, спасибо заранее.