어쩔 수 없는 상황이 아니라면 가급적 사용하지 않는 것이 좋음 사용 법은 단순하다. @Query(value = "select * from member where username = ?" , nativeQuery = true) Member findByNativeQuery(String username); @Query에 nativeQuery를 true로 주면 끝이다. 프로젝션과 함께 사용하기 package study.datajpa.repository; public interface MemberProjection { Long getId(); String getUsername(); String getTeamName(); } @Query(value="select m.member_id as id, m.username..
projections이란 쉽게 말해서 쿼리에 셀렉트 절에 들어갈 데이터(필드) 라고 보면된다고 한다. 엔티티 대신에 DTO를 편리하게 조회할 때 사용 전체 엔티티가 아니라 만약 회원 이름만 딱 조회하고 싶으면? 1. 인터페이스를 하나 만든다. 값을 얻고싶은 메소드만 만들어주기 package study.datajpa.repository; public interface UsernameOnly { String getUsername(); } 2. repository에는 반환형태를 인터페이스 네임으로 붙여준다 List findProjectionByUsername(@Param("username")String username); } 3.메소드를 사용해서 반환한다. @Test public void projections..
@Test public void queryByExample(){ Team teamA = new Team("teamA"); em.persist(teamA); Member m1 = new Member("m1", 0, teamA); Member m2 = new Member("m2", 0, teamA); em.persist(m1); em.persist(m2); em.flush(); em.clear(); //probe 생성 Member member = new Member("m1"); //username 검색 Team team = new Team("teamA"); member.setTeam(team); //연관관계까지 검색해줌 //ExampleMatcher 생성 , age 프로퍼티는 무시 ExampleMatcher..
- Total
- Today
- Yesterday
- jpa api
- reject
- 향해플러스백엔드
- Java
- filter
- JPA
- Intercepter
- ArgumentResolver
- React
- 컨트
- 리터럴
- exception
- 스프링부트
- 항해99
- react실행
- thymleaf
- 향해플러스
- 스프링공부
- 항해플러스
- 로그인
- hypertexttransferprotocol
- 인터셉터
- 백엔드 개발자 공부
- SpringBoot
- 예외처리
- 백엔드 개발자 역량
- rejectValue
- BindingResult
- HTTP
- 향해99
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |