持久化内部实体,Spring Jpa



如果实体内部有实体对象接受内部实体对象的值,包括来自外部的id(控制器)授予持久性后,保存外部实体。

public class IssueCommentService {
public IssueComment toEntity(Long id){
return repository.findById(id).orElseThrow(NoContentFromRequestException::new);
}
public IssueComment toEntity(IssueComment notPersistIssueComment){
if (Objects.isNull(notPersistIssueComment.getId())) {
throw new CanNotBecomeEntityException();
}
return toEntity(notPersistIssueComment.getId());
}
}
public class IssueCommentController {
@PatchMapping(value = "")
public ResponseEntity<IssueComment> updateCommentIssueComment(@RequestBody IssueComment issueComment) {
String updateComment = issueComment.getComment();
IssueComment entityIssueComment = issueCommentService.toEntity(issueComment);
issueCommentService.updateComment(entityIssueComment, updateComment);
return new ResponseEntity<>(issueCommentService.toEntity(entityIssueComment), HttpStatus.OK);
}
}

此时,包含id的内部实体被持久重复。什么是一次处理所有问题的好方法?内部对象应该每次都是持久化的吗?

提前感谢您的回答。

内部对象cascadeType default

最新更新