inblog logo
|
devleekangho
    기술정리

    [기술 정리] 7. JPQL(Java Persistence Query Language)

    KangHo Lee's avatar
    KangHo Lee
    Nov 21, 2024
    [기술 정리] 7. JPQL(Java Persistence Query Language)
    Contents
    1. SELECT2. DELETE
    💡
    JPA에서 엔터티 객체를 대상으로 하는 객체 지향 쿼리 언어입니다

    1. SELECT

    createNativeQuery (일반 SQL 쿼리문)

    public List<Board> findAll() { Query q = em.createNativeQuery("select * from board_tb order by id desc", Board.class); return q.getResultList(); }

    em.createQuery (JPQL)

    return em.createQuery("select b from Board b order by b.id desc", Board.class) .getResultList();

    차이점

    1. select 뒤에 객체의 별명을 적습니다.
        • * → b
    1. from 뒤에 테이블 이름이 아닌 객체의 이름을 적습니다.
        • board_tb → Board b
    1. order by 뒤에 별명.필드이름 을 적어야 합니다.
        • id → b.id

    2. DELETE

    createNativeQuery (일반 SQL 쿼리문)

    public void delete(int id) { Query q = em.createNativeQuery("delete from board_tb where id=?"); q.setParameter(1, id); q.executeUpdate(); }

    em.createQuery (JPQL)

    public void delete(int id) { em.createQuery("delete from Board b where id = :id") .setParameter("id", id) .executeUpdate(); }

    차이점

    1. from 뒤에 테이블 이름이 아닌 객체의 이름을 적습니다.
        • board_tb → Board b
    1. where 조건문의 파라미터 설정 방법이 다릅니다.
        • where id=? → where id = :id
        • q.setParameter(1, id); → .setParameter("id", id)
     
    Share article
    Contents
    1. SELECT2. DELETE

    devleekangho

    RSS·Powered by Inblog