지우쓰 개발일기
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. 자바 ORM 표준 JPA 프로그래밍 에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. www.aladin.co.kr JOIN INNER JOIN 연관 필드로 자동 조인 INNER은 기본값이라 생략 가능 연관 필드: 다른 엔티티와 연관관계를 갖는 필드 SELECT m FROM Member m [INNER] JOIN m.team t LEFT JOIN 연관 필드로 자동 조인 OUTER은 생략 가능해서 보통 LEFT JOIN으로 사용 SELECT m FROM Member m LEFT [OUTER] JOIN m.team ..
🚩 외부 코드를 기존 코드에 깔끔하게 통합하는 기법 💻 외부 코드 사용하기 예) java.util.Map Generics를 사용하여 코드 가독성을 높일 수 있다. 하지만 인터페이스가 언제든 변할 수 있기 때문에 Generics에 의존하는 것도 위험하다. Map(인터페이스)를 사용할 클래스 안에서 관리하고 변환하면 설계 규칙과 비즈니스 규칙을 강제할 수 있다. public class Sensors { private Map sensors = new HashMap(); public Sensor getById(String id) { return (Sensor) sensors.get(id); } ... } 💻 경계 살피고 익히기 학습 테스트 외부 코드와 기존 코드를 통합하기 전, 간단한 테스트 케이스를 작성해 외..
💻 오류 코드보다 예외를 사용하라 논리 코드와 오류 코드를 분리하라 각 개념을 독립적으로 살펴보고 이해할 수 있도록 하라 💻 Try-Catch-Finally 문부터 작성하라 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 하는 코드를 작성하라 public List retrieveSection(String sectionName) { try{ FileInputStream stream = new FileInputStream(sectionName); stream.close(); } catch (FileNotFoundException e) { throw new StorageException("retrieval error", e); } return new ArrayList(); } 💻 Unche..
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. 자바 ORM 표준 JPA 프로그래밍 에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. www.aladin.co.kr 기본 문법과 쿼리 API SELECT 문 대소문자 구분 엔티티와 속성 대소문자 구분 JPQL 키워드는 구분 X JPQL에서 사용하는 '타입'은 클래스가 아닌 엔티티 이름 별칭 지정 필수 TypeQuery, Query 실행할 쿼리 객체 TypeQuery: 반환 타입 명확하게 지정 Query: 반환 타입 미지정 SELECT 절의 조회 대상이 하나인 경우: Object 반환 둘 이상인 경우: Object..
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. 자바 ORM 표준 JPA 프로그래밍 에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. www.aladin.co.kr 객체지향 쿼리 SQL JPQL Structured Query Language Java Persistence Query Language 데이터 중심의 쿼리 엔티티 객체 중심의 쿼리 DB 테이블 대상 객체 대상 JPA 공식 지원 기능 JPQL Native SQL Criteria Query JPQL을 편하게 작성하도록 도와주는 API Builder Class 모음 비공식 기능 QueryDSL JPQL을 ..