#Day03 - JPQL 기본 문법(2)

Kim Hyen Su·2023년 4월 3일
0

TypedQuery와 Query

  • 작성한 JPQL을 실행하기 위한 쿼리 객체.

  • 차이점

    • TypedQuery : 변환 타입 명확하게 지정 가능
    • Query : 변환 타입 명확하게 지정 불가능

  • TypedQuery 사용 예시

    @Autowired
    private EntityManager em;
    
    @BeforeEach
    public void insertData(){
        Person person = Person.builder()
                .name("이름1")
                .age(18)
                .address("주소1")
                .build();
        Person person2 = Person.builder()
                .name("이름2")
                .age(19)
                .address("주소2	")
                .build();
        em.persist(person);
        em.persist(person2);
    }
    
    @Test
    @DisplayName("JPQL 연습01")
    public void exam01(){
        String jpql  = "SELECT p FROM Person AS p";
        TypedQuery<Person> query = em.createQuery(jpql,Person.class);
        List<Person> datas = query.getResultList();
        for(Person data : datas){
            System.out.println(data);
        }
    }
  • Query 사용 예시

     public void exam02(){
        String jpql = "SELECT p.name, p.age FROM Person p WHERE num BETWEEN :from AND :to";
        Query query = em.createQuery(jpql);
        query.setParameter("from",1);
        query.setParameter("to",2);
        List<Object[]> datas = query.getResultList();
        datas.stream().flatMap(Arrays::stream).map(o->o.toString())
                .forEach(System.out::println);
    }
profile
백엔드 서버 엔지니어

0개의 댓글