| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- docker compose
- @ComponentScan
- DI
- CORS
- DLQ
- Spring Container
- 페이징
- 스프링 부트
- Spring
- 쿠버네티스
- mybatis
- MSA
- Web
- redis
- docker
- kafka
- Routing Key
- Dead Letter Queue
- @Transactional
- securitycontextholderfilter
- dockerhub
- 지연 로딩
- JPA
- 서블릿 컨테이너
- Spring Data JPA
- JPQL
- 컨테이너
- JWT
- AWS
- JdbcTemplate
- Today
- Total
목록querydsl (3)
look-forest
JPA는 다양한 쿼리 방법을 지원한다. JPQL - em.createQuery()JPA Criteria - QueryDSL 같이 Java로 쿼리 짜는 JPA 표준 스펙. but 복잡함. 비추. QueryDSL 권장.QueryDSL - Java로 JPQL을 작성하는 JPQL 빌더네이티브 SQL - em.createNativeQuery(). JPQL로 해결할 수 없는 특정 데이터베이스에 의존적인 기능 사용 시JDBC API 직접 사용, MyBatis, SpringJdbcTemplate 함께 사용 - 영속성 컨텍스트를 적절한 시점에 강제 플러시 필요!JPQL(Java Persistence Query Language)JPA에서 원하는 쿼리를 만들 때 사용.JPA는 SQL..
추상화 비용Spring Data Jpa를 적용해서 리포지토리를 아래와 같이 구성한 경우,중간에서 JpaItemRepositoryV2 가 어댑터 역할을 해준 덕분에 ItemService 가 사용하는 ItemRepository 인터페이스를 그대로 유지할 수 있고 클라이언트인 ItemService 의 코드를 변경하지 않아도 되는 장점이 있다. 그런데, 구조를 맞추기 위해서 중간에 어댑터가 들어가면서 전체 구조가 너무 복잡해지고 사용하는 클래스도 많아지는 단 점이 생겼다. 추상화도 비용이 든다. 이 추상화 비용을 넘어설 만큼 효과가 있을 때 추상화를 도입하는 것이 실용적이다. 실용적인 구조DI, OCP 원칙을 지키지 못하더라도, 상황에 따라 단순하고 빠르게 구현하고 추후 필요시 추상화로 리팩토링 할 수 있다. ..
QUERY의 문제점 : QUERY는문자,Type-check불가능. 실행하기 전까지 작동 여부 확인 불가만약SQL이 클래스처럼 타입이 있고 자바코드로 작성할 수 있다면? QueryDSL JPA, MongoDB, SQL같은 기술들을 위해 쿼리를 Java로 type-safe하게 개발할 수 있게 지원하는 프레임워크주로 JPA쿼리(JPQL)에 사용. JPQL builder 역할.쿼리+도메인+특화+언어쿼리에 특화된 프로그래밍 언어컴파일 에러, IDE 자동완성 지원!JPQL로 해결하기 어려운 복잡한 쿼리는 네이티브 SQL 쿼리 사용 (QueryDSL -> JPQL -> SQL)DSL도메인+특화+언어특정한 도메인에 초점을 맞춘 제한적인 표현력을 가진 컴퓨터 프로그래밍 언어 Querydsl 활용Spring Data..