theme | _class | paginate | height | title | color | backgroundColor | backgroundImage | marp |
---|---|---|---|---|---|---|---|---|
gaia |
lead |
true |
100% |
true |
코드
로 쿼리
를 구성하는 API
Criteria API는 Java Persistence API (JPA)의 일부로, 프로그래밍 방식으로 데이터베이스 쿼리를 생성하는 API입니다.
- 타입 안전성 보장
- 동적 쿼리 생성 용이성
- 객체 지향적 쿼리 작성입니다.
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();
칼럼 | 타입 | 설명 |
---|---|---|
id | Long | 인덱스 번호 |
price | Int | 가격 |
weight | Double | 무게(kg) |
//
@Repository
interface MenuRepository: JpaRepository<WaterMelon,Long>{
fun findByLessThanPrice(price : Long)
fun findByLessThanPriceAndGreaterThanWeight(price: Long,weight:Double)
}
Criteria API와 QueryDSL은 모두 타입 안전한 동적 쿼리 생성을 위한 도구이지만, 몇 가지 차이점이 있습니다
위즈에서 사용하는 blueprint 툴인 khipster 또한 criteria를 지원합니다.