인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Myungsik Ji님의 프로필 이미지

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

.ifPresent 사용법

작성

·

33

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
멤버 삭제 기능을 만들려고 하는데 이렇게 하는게 맞을까요?
한개의 멤버만 받아서 삭제하고 싶은데 어떻게 처리해야 할까요?

 

public boolean deleteProduct(String productName){
    List<Product> result =  em.createQuery("select p from Product p where p.productName = :productName", Product.class)
            .setParameter("productName", productName)
            .getResultList();


    return true;
}

 

getResultList 로 하니까 여러개 나올거 같은데 한개만 삭제하려면 어떻게 해야 하나요? 그리고 em.remove하면 되나요?

답변 1

0

y2gcoder님의 프로필 이미지

안녕하세요. Myungsik Ji님, 공식 서포터즈 y2gcoder입니다.

보여주신 것처럼 목록으로 불러 하나를 삭제하셔도 되고, 결과가 한 개만 나올 것이 보장된다면 .getResultList() 대신 .getSingleResult()를 사용해보셔도 좋을 것 같습니다.

그렇게 가져온 뒤에는 말씀하신 EntityManager의 remove()를 사용해보시면 좋을 것 같습니다 🙂

감사합니다.