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

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

김스껄님의 프로필 이미지
김스껄

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

Hello JPA - 애플리케이션 개발

createQuery시 쿼리가 날라가지 않고 rollback이 되는 문제

작성

·

292

0

 

package hellojpa;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import java.util.List;

public class JpaMain {
    public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");
        EntityManager em = emf.createEntityManager();
        EntityTransaction tx = em.getTransaction();
        tx.begin();


        try{
            List<Member> result = em.createQuery("select m from Member", Member.class)
                    .getResultList();
                    
            for(Member member : result){
                System.out.println("member.name = " + member.getName());
            }
            tx.commit();

        } catch (Exception e){
            tx.rollback(); //쿼리가 전송되지 않을때, 다음과 같이 rollback을 시킨다
        } finally {
            em.close();
        }
        emf.close();



    }
}

 

다음과 같이 코드를 강좌와 똑같이 따라 했는데, print문과 쿼리가 나오지 않아 코드 결과물을 잘 뜯어보니, 

 

21:56:20.511 [main] DEBUG org.hibernate.engine.transaction.internal.TransactionImpl - rolling back

...

21:56:20.517 [main] DEBUG org.hibernate.internal.SessionFactoryImpl - HHH000031: Closing

 

이렇게 뜨는 것을 알 수 있었습니다. except문으로 가서 rollback된다는 의미인것 같은데 어디가 문제인지 알 수 있을까요?

답변 1

0

안녕하세요. ­오선정[경영학부]님, 공식 서포터즈 OMG입니다.

 

select m from Member

 

select m from Member m

위 코드를 아래로 바꿔주세요(m 추가)


감사합니다.

김스껄님의 프로필 이미지
김스껄
질문자

아이고 간단한 부분을 틀렸네요ㅠㅠㅠ감사합니다!:)

김스껄님의 프로필 이미지
김스껄

작성한 질문수

질문하기