Skip to content

Latest commit

 

History

History
89 lines (64 loc) · 1.98 KB

criteria.md

File metadata and controls

89 lines (64 loc) · 1.98 KB
theme _class paginate height title color backgroundColor backgroundImage marp
gaia
lead
true
100%
true

Criteria

코드쿼리 를 구성하는 API


1. Criteria API

Criteria API는 Java Persistence API (JPA)의 일부로, 프로그래밍 방식으로 데이터베이스 쿼리를 생성하는 API입니다.

  • 타입 안전성 보장
  • 동적 쿼리 생성 용이성
  • 객체 지향적 쿼리 작성입니다.

Criteria 기초

public class Item implements Serializable {

    private Integer itemId;
    private String itemName;
    private String itemDescription;
    private Integer itemPrice;
}
Session session = HibernateUtil.getHibernateSession();
CriteriaBuilder cb = session.getCriteriaBuilder();
CriteriaQuery<Item> cr = cb.createQuery(Item.class);
Root<Item> root = cr.from(Item.class);
cr.select(root);

Query<Item> query = session.createQuery(cr);
List<Item> results = query.getResultList();

JPA 를 이용한조회 -1

bg left 50%


JPA 를 이용한조회 -2

칼럼 타입 설명
id Long 인덱스 번호
price Int 가격
weight Double 무게(kg)
// 

@Repository
interface MenuRepository: JpaRepository<WaterMelon,Long>{
    fun findByLessThanPrice(price : Long)
    fun findByLessThanPriceAndGreaterThanWeight(price: Long,weight:Double)  
}

Criteria 사용법과 이점


QueryDsl vs Criteria

Criteria API와 QueryDSL은 모두 타입 안전한 동적 쿼리 생성을 위한 도구이지만, 몇 가지 차이점이 있습니다


khipster Criteria

위즈에서 사용하는 blueprint 툴인 khipster 또한 criteria를 지원합니다.