🔙뒤로가기

ItemRepository

package jpabook.jpashop.domain.repository;

import jpabook.jpashop.domain.item.Item;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;

import javax.persistence.EntityManager;
import java.util.List;

@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); // 업데이트
        }
    }
    // JPA의 save는 기본적으로 id값이 null인지를 판단해 insert와 update를 결정한다.

    public Item findOne(Long id){
        return em.find(Item.class, id);
    }

    public List<Item> findAll(){
        return em.createQuery("select i from i", Item.class)
                .getResultList();
    }
}

기능 설명