save 메소드를 호출 했을 때 새로운 엔티티면 persist 아니면 merge 한다고 했었다.
이 부분에서 isNew
메소드에 대해서 설명하는 것이다.
@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Item {
@Id
private String id;
public Item(String id) {
this.id = id;
}
}
@Test
public void save() {
itemRepository.save(new Item("A"));
}
Id 값이 있다.
merge가 호출되기 때문에
셀렉트 쿼리가 호출 되었다!!!
Persistable 이라는 인터페이스를 이용해야 한다.