public ScriptUpdateDto.Response updateScript(Long scriptId, ScriptUpdateDto.Request request) {
UserEntity userEntity = userRepository.findById(request.getUserId())
.orElseThrow(() -> new IllegalArgumentException("해당 유저가 존재하지 않습니다."));
// JPA ID 가 같으면 새로운객체를 기준으로 save 를 해도 UPDATE , ID null INSERT
ScriptEntity script = scriptRepository.findById(scriptId)
.orElseThrow(() -> new IllegalArgumentException("해당 대본이 존재하지 않습니다."));
script.updateContent(request.getContent());
return ScriptUpdateDto.Response.updateScript(script);
}
orElseThrow() 참조하는 테이블까지 확인
@Component
public class ScriptMapper {
public static ScriptEntity generated(ScriptAddDto.Request request, UserEntity userEntity) {
return ScriptEntity.create(
request.getContent(),
userEntity
);
}
}
ScriptEntity class
public static ScriptEntity create(String content, UserEntity user) {
return new ScriptEntity(content, user);
}
// JPA modifiedAt 업데이트 <<public void updateContent(String content) {
this.content = content;
}
public void notUse() {
this.isUse = false;
}
request → entity 변환 클래스 추가?