String query = "select m.username, 'HELLO', true from Member m where m.memberType = jpabook.jpashop.domain.MemberType.ADMIN "; List resultList = em.createQuery(query).getResultList(); for (Object[] o : resultList) { System.out.println("object" + o[0]); System.out.println("object" + o[1]); System.out.println("object" + o[2]); } 혹은 String query = "select m.username, 'HELLO', true from Member m " +..
//이렇게하면 조인이 가능하지만 조인 이용시에는 이렇게 사용하면 안된다 List resultList = em.createQuery("select m.team from Member m", Member.class).getResultList(); //이렇게 해야 조인이 예측이 된다. List resultList1 = em.createQuery("select t from Member m join m.team t", Team.class).getResultList(); //임베디드 타입은 같은 테이블 안에 있기 때문에 사용해도 문제없다. em.createQuery("select m.address from Member m", Address.class).getResultList(); em.createQuery("sel..
JPQL 소개 - JPQL은 객체지향 쿼리 언어다. 따라서 테이블을 대상으로 쿼리 하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. - JPQL은 SQL을 추상화해서 특정 데이터 베이스 SQL에 의존하지 않는다. - JPQL은 결국 SQL로 변환된다. JPQL 문법 - select m from Member as m where m.age > 18 - 엔티티와 속성은 대소문자 구분O (Member, age) - JPQL 키워드는 대소문자 구분X (SELECT, FROM, where) - 엔티티 이름 사용, 테이블 이름이 아님(Member) - 별칭은 필수(m) (as는 생략 가능) Member singleResult = em.createQuery("select m from Member m where m.u..
다양한 쿼리 방법 을 지원 -JPQL - JPA Criteria - QueryDsl - 네이티브 SQL - JDBC API 직접 사용, MyBatis, SpringJdbcTemplate 함께 사용 JPQL 소개 - 가장 단순한 조회 방법 ㄴ EntityManager.find() ㄴ 객체 그래프 탐색 (a.getB().getC()) - 나이가 18살 이상인 회원을 모두 검색하고 싶다면? JPQL - JPA를 사용하면 엔티티 객체를 중심으로 개발 - 문제는 검색 쿼리 - 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색 - 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능 - 애플리케이션이 필요한 데이터만 DB에서 불러오려면 결국 검색 조건이 포함된 SQL이 필요 - JPA는 SQL을 추상화..
값 타입 컬렉션 - 값 타입을 하나 이상 저장할 때 사용 - @ElementCollection, @CollectionTable 사용 - 데이터베이스는 컬렉션을 같은 테이블에 저장할 수 없다. - 컬렉션을 저장하기 위한 별도의 테이블이 필요함 package jpabook.jpashop.domain; import javax.persistence.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; @Entity public class Member extends BaseEntity{ @Id @GeneratedValue priv..
- Total
- Today
- Yesterday
- react실행
- ArgumentResolver
- exception
- thymleaf
- SpringBoot
- 향해플러스
- JPA
- filter
- 향해플러스백엔드
- 항해99
- 향해99
- rejectValue
- jpa api
- 컨트
- 로그인
- React
- 스프링부트
- 리터럴
- 예외처리
- BindingResult
- 스프링공부
- HTTP
- reject
- hypertexttransferprotocol
- 항해플러스
- 백엔드 개발자 공부
- Java
- 백엔드 개발자 역량
- Intercepter
- 인터셉터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |