일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 컨테이너와 스프링 빈
- 코틀린인액션
- Kotlin in action 10장
- 고급매핑
- 코틀린
- 20055 컨베이어 벨트 위의 로봇
- Kotlin
- KotlinInAction
- 백준
- 백준 13460 Python
- 20055
- 객체 지향 설계와 스프링
- 코틸린인액션
- 싱글톤 컨테이너
- spring
- Kotlin in action 5장
- Kotlin in action 6장
- 컨베이어 벨트 위의 로봇 Python
- 스프링 핵심 원리
- kotlin in action 정리
- 스프링 핵심 원리 이해
- 백준 20055 컨베이어 벨트 위의 로봇
- 자바 ORM 표준 JPA 프로그래밍 7장
- Kotlin In Action
- Kotlin in action 3장
- 스프링 핵심 원리 - 기본편
- 기능개발 python
- 13460 구슬탈출 2
- Python
- 7장 고급매핑
- Today
- Total
목록스터디/자바 ORM 표준 JPA 프로그래밍 (5)
기록하는 습관
1. 예외 처리 jpa 표준 예외는 javax.persistence.PersistenceException의 자식 클래스이다. jpa 예외는 모두 unchecked 예외이다. ** unchecked 예외란? 언체크 예외는 RuntimeException의 하위 클래스들을 의미. 체크 예외와는 달리 에러 처리를 강제하지 않는다. 말 그대로 실행 중에(runtime) 발생할 수 있는 예외를 의미한다. 배열의 범위를 벗어난(ArrayIndexOutOfBoundsException) 값이 null이 참조변수를 참조(NullPointerException) JPA 표준 예외 2가지 1. 트랜잭션 롤백을 표시하는 예외 트랜잭션 강제로 커밋해도 커밋되지 않고, javax.persistence.RollbackException..
스프링 데이터 JPA와 QueryDSL 통합 1. QueryDslPredicateExecutor 사용 첫 번째 방법은 다음처럼 리포지토리에서 QueryDslPredicateExecutor를 상속받으면 된다. 이제 상품 리포지토리에서 QueryDSL을 사용할 수 있다. 아래 예제는 QueryDSL이 생성한 쿼리 타입으로 장난감이라는 이름을 포함하고 있으면서 가격이 10000~20000원인 상품을 검색한다. public interface ItemRepository extends JpaRepository, QueryDslPredicateExecutor {} QItem item = QItem.item; Iterable result = itemRepository.findAll( item.name.contains(..
1. 기본 문법과 쿼리 API Java Persistence Query Language(JPQL)은 엔터티 객체를 대상으로 하는 쿼리 언어로, SQL과 유사하지만 테이블이 아닌 엔터티에 대해 작동한다. 1.1 기본 문법 JPQL의 기본 문법은 다음과 같다: SELECT FROM WHERE 예) SELECT e FROM Employee e WHERE e.department = 'IT' 이 쿼리는 'IT' 부서에 속한 모든 직원을 검색한다. 1.2 쿼리 API JPQL은 EntityManager를 통해 실행된다. EntityManager는 엔터티를 관리하고 영속성 컨텍스트를 제공하는데, 이를 이용해 JPQL을 실행할 수 있다. EntityManager em = // EntityManager를 얻는 코드 Ty..
JPA 의 데이터 타입을 가장 크게 분류하면 엔티티 타입과 값 타입으로 나눌 수 있다. 엔티티 타입 : @Entity로 정의하는 객체 식별자를 통해 지속적으로 추적할 수 있다. 엔티티의 속성 값을 변경하더라도 같은 엔티티이다. 값 타입 : int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체를 말한다. 식별자가 없고 숫자나 문자같은 속성만 있으므로 추적할 수 없다. 숫자 값을 100에서 200으로 변경하면 완전히 다른 값으로 대체된다. 값 타입은 다음의 3가지로 나눌 수 있다. 기본값 타입(Basic value type) 자바 기본 타입(예: int, double) 래퍼 클래스(예: Integer) String 임베디드 타입(복합 값 타입) JPA 에서 사용자가 직접..
더보기 회사에서 JPA 스터디를 중간에 참여하게 되어 7장부터 글을 쓰게 되었다. 앞으로 책을 읽고 알게된 내용이나, 궁금했던 점 위주로 정리할 예정이다. 복합 키와 식별관계 매핑 식별관계 vs 비식별관계 DB 테이블 사이의 관계는 외래 키가 기본 키에 포함되는지 여부에 따라 식별, 비식별로 구분된다. 식별관계 식별 관계는 부모 테이블의 기본 키를 내려 받아 자식 테이블의 기본키 + 외래키로 사용하는 관계 비식별관계 비식별 관계는 부모 테이블의 기본 키를 받아서 자식 테이블의 외래 키로만 사용하는 관계다. 비식별 관계는 외래키에 NULL을 허용하는지에 따라 필수적, 선택적으로 갈린다. 필수적 비식별 관계 외래키에 NULL 허용하지 않음 연관관계를 필수적으로 맺어야함 선택적 비식별 관계 외래키에 NULL ..