У меня есть следующий класс
@Entity
public class Comment {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "comment_id")
private Long commentId;
@Column(name = "creator_id")
private Long creatorId;
@Column(name = "text")
@ApiModelProperty(value = "Text des Kommentar")
private String text;
@Column(name = "timestamp")
@ApiModelProperty(value = "Zeitstempel der letzten Bearbeitung")
private String timestamp;
protected Comment() {}
public Comment(CommentDto dto) {
this();
updateComment(dto);
}
private void updateComment(CommentDto dto) {
setText(dto.getText());
setCreatorId(dto.getCreatorId());
setTimestamp(UtilService.getTimestampString());
}
Я получаю CommentDto из моего HTTP-запроса, состоящего из текста и creatorId.
Насколько я понимаю, commentId должен быть сгенерировано с помощью вызова пустого конструктора.
В моем сервисе я делаю следующее:
public void addComment(CommentDto comment) {
Comment commentEntity = new Comment(comment);
commentRepository.save(commentEntity);
}
с commentRepository
как Autowired JPARepository<Comment, Long>
Проблема заключается в том, что идентификатор не создается, и я получаю сообщение об ошибке при попытке вставить объект в мою БД с нулевым идентификатором.