인프런 커뮤니티 질문&답변
변경감지와 병합 부분 질문이 있습니다
작성
·
176
0
@Repository
@RequiredArgsConstructor
public class ItemRepository {
private final EntityManager em;
public void save(Item item){
if (item.getId() == null) {
em.persist(item);
} else {
em.merge(item);
}
}
}
이 부분에서 질문이 있습니다.
ItemService 부분에서는 itemId와 변경할 데이터를 담은 form객체를 가지고 있습니다.
그러면, merge를 하는게 아닌
new Book()을 하고, book에 itemId를 set하고 form객체에 있는 값들을 넣어주고
단순히 em.merge()를 하는 것이 아닌, 그냥 em.persist(item)를 하면 에러가 나는것 같습니다.
왜 발생하는 건가요?





