일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 핵심 원리
- QueryDSL
- db
- jpa
- 스프링 핵심 기능
- Proxy
- Thymeleaf
- pointcut
- 그리디
- SpringBoot
- kotlin
- 김영한
- java
- springdatajpa
- 자바
- Android
- Exception
- Spring Boot
- 인프런
- spring
- JDBC
- transaction
- Servlet
- Greedy
- 백준
- 알고리즘
- JPQL
- http
- AOP
- 스프링
- Today
- Total
목록@Query (5)
개발자되기 프로젝트
1. 이름기반, 위치기반 파라미터 바인딩 이름기반 안씀 ㅋㅋㅋㅋㅋㅋ 가독성과,, 유지보수를 위해 이름기반을 쓰자. 위치기반은 순서가 바뀌면....어우.. select m from Member m where m.username = ?0 //위치 기반 select m from Member m where m.username = :name //이름 기반 @Pram으로 이름기반 바인딩. @Query("select m from Member m where m.username = :name") Member findMembers(@Param("name") String username); 2. 컬렉션 파라미터 바인딩 Collection 타입으로 in절 지원 Query의 "names"에 List names가 바인딩됨. 즉 ..
1. 등록된 회원들의 이름을 조회 MemberRepository @Query("select m.userName from Member m") List findUserNameList(); Test @Test public void findUserNameList(){ Member member1 = new Member("aaa", 10); Member member2 = new Member("bbb", 20); memberRepository.save(member1); memberRepository.save(member2); List userNameList = memberRepository.findUserNameList(); for (String userName : userNameList) { System.out.p..
1. @Query SpringDataJPA를 활용하여 repository의 method에 바로 쿼리를 정의하자. 실무에서 많이 쓰임 기존 SpringDataJPA에서 제공하는 기능은 조건이 너무 길어지면 method이름이 길어졌다. @Query를 사용하면 method이름은 간략히, 쿼리는 여러 조건을 추가할 수 있다. public interface MemberRepository extends JpaRepository { public List findMemberByUserNameAndAgeGreaterThan(String userName, int age); @Query(name = "Member.findByUserName") List findByUserName(@Param("userName") String..
@Query @Query를 사용하는 이유!에 대해 알아보자 1. 이름이 길어지는 경우 가독성을 좋게 변경하기 위해 다음과 같이 이름이 굉장히 킨 query method가 있다고 해보자. List findByCategoryIsNull AndNameEquals AndCr.. bsh-developer.tistory.com 1. Native Query? JPA에서 JPQL을 사용할 수 없을 때, SQL을 직접 사용할 수 있는 옵션이다. dialect를 사용할 수 없다, 따라서 특정 DB에 의존성을 가진 query를 만들게됨. 즉, DB종류가 변경되면 code변경시 자동으로 해당 DB를 반영해주는 JPA기능 활용이 불가능. 2. 사용법 기존 @Query에서 nativeQuery = true를 적용하면 된다. [n..
@Query를 사용하는 이유!에 대해 알아보자 1. 이름이 길어지는 경우 가독성을 좋게 변경하기 위해 다음과 같이 이름이 굉장히 킨 query method가 있다고 해보자. List findByCategoryIsNull AndNameEquals AndCreatedAtGreaterThanEqual AndUpdatedAtGreaterThanEqual (String name, LocalDateTime createdAt, LocalDateTime updatedAt); category는 null이고, 주입한 이름과 동일하며, 주입한 createdAt & updatedAt보다 크거나 같은 값을 찾는 쿼리이다. 테스트도 노답이다. @Test void queryTest(){ System.out.println("find..