У меня есть DTO объекты и есть Entity классы. Поля одинаковые, только в Entity классах есть дополнительное поле id под первичный ключ. Для меппинга я использую ModelMapper и он почему то портит мне id. Записывает туда 0.
К примеру есть у меня такая иерархия Segment -> Node
@Entity
class SegmentEntity {
@OneToOne(optional = false)
@NotNull(message = "start node is required!")
NodeEntity startNode;
....
Если выполняется такой код для загруженного из базы Entity.
modelMapper(segmentModel, segmentEntity)
То у startNode полсе выполнения этого кода, id становится равно 0, естественно это портит первичный ключ.
Я пробовал добавить modellMapper следующее, но не помогает. Все равно у startNode получается id = 0
modelMapper.typeMap(Segment.class, SegmentEntity.class).addMappings(mp -> {
mp.skip(SegmentEntity::setStartNode);
mp.skip(SegmentEntity::setTargetNode);
mp.skip(SegmentEntity::setHolds);
mp.skip(SegmentEntity::setLoadingDocuments);
});
Как добиться от ModelMapper-а, что бы он не обновлял аттрибуты entity-класса, которых нет в модели?
Спасибо