
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 {
Member findMember = em.find(Member.class, 1L);
List<Member> result = em.createQuery("select m from Member as m", Member.class)
.getResultList();
for (Member member : result) {
System.out.println("member.name = " + member.getName());
}
tx.commit();
} catch (Exception e) {
tx.rollback();
} finally {
em.close();
}
emf.close();
}
}
select m from Member as m으로 쿼리문을 작성해야한다
만약, select * from Member as m 이렇게 날리면
JPQL은 객체지향 쿼리이므로 객체가 아닌 전체를 조회할 수 없다.
객체를 조회하는게 올바르므로 select m from Member as m으로
Member 엔티티 객체를 조회한다.
+페이지 네이션 예시

JPQL은 객체를 대상으로 하는 객체지향 쿼리라는 것을 잊지말자