10장. 객체지향 쿼리 언어 10.4 QueryDSL JPA Criteria는 문자가 아닌 코드로 JPQL을 작성하기에 문법 오류를 컴파일 단계에서 잡을 수 있고, IDE 자동완성 기능의 도움을 받을 수 있다는 장점이 존재하지만, 단점은 너무 복잡하고 어렵다는 점이다. 쿼리를 문자가 아닌 코드로 작성해도 쉽고, 간결하며 그 모양도 쿼리와 비슷하게 개발할...
3주차 작업로그 1. 주요 기능 SQL 쿼리 작성하기 동작 시나리오: 상품 회원은 상품을 전체 조회할 수 있다. ✔️ 회원은 키워드 검색을 통해 상품을 전체 조회할 수 있다. ✔️ 카테고리를 설정하여 상품을 조회할 수 있다. ✔️ 가격순(오름/내림차
10장. 객체지향 쿼리 언어 JPA는 복잡한 검색 조건을 사용해 엔티티 객체를 조회할 수 있는 다양한 쿼리 기술을 지원한다. JPQL은 가장 중요한 객체지향 쿼리 언어이다. Criteria나 QueryDSL은 결국 JPQL을 편리하게 사용하도록 도와주는 기술이다.
09장. 값 타입 JPA의 데이터 타입 엔티티 타입: @Entity로 정의하는 객체 식별자를 통해 지속해서 추적 가능 값 타입: int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입 또는 객체 식별자가 없고 문

5월 14일 작업로그ERD 및 논리적 설계 수정함수 종속성 다이어그램정규화장바구니 상품에 가격 속성이 있었는데 없애는게 나아 그 부분을 수정하여 논리적 설계도 그거에 맞춰 수정하였다. ⇒ 주문 시에는 주문 시점의 가격을 따로 기록할 필요가 있는데 장바구니는 상품의 가

5월 12일 작업로그개념적 설계 (ERD) 작업논리적 설계기존에 상품 개체 하나 정도에 카테고리 개체 하나 이렇게 있던 상태에서 장바구니와 옵션을 추가하겠다고 생각하며, 꽤 수정을 많이 하게 되었다.우선 카테고리 테이블을 만들어, 쇼핑몰 안에 있는 모든 상품들을 카테고

프록시와 지연로딩, 즉시로딩: 객체가 데이터베이스에 저장되어 연관된 객체를 마음껏 탐색하기 어려운 상황에서 JPA 구현체들은 이 문제를 해결하기 위해 프록시를 사용함. 프록시를 사용하면 연관된 객체를 처음부터 데이터베이스에서 조회하는 것이 아니라 실제 사용하는 시점에

상속 관계 매핑: 객체의 상속 관계를 데이터베이스에서 매핑하는 방법@MappedSuperclass: 등록일, 수정일 같이 여러 엔티티에서 공통으로 사용하는 매핑 정보만 상속받고 싶을 때 사용.복합키와 식별 관계 매핑: 데이터베이스의 식별자가 하나 이상일 때 매핑하는 방

이론 정리 및 실습을 하나의 파일에 정리하였습니다. 뷰(view): 하나 이상의 테이블을 합해 만드는 가상의 테이블실제 데이터는 저장하지 않고, SELECT 쿼리의 결과에 이름을 붙여 재사용하는 객체데이터 보안- 특정 컬럼만 노출하도록 설정 가능재사용성: 복잡한 쿼리를

중고 거래 게시글 중에서 생성일자를 기준으로 한 번 거르고, 거래 상태에 따라 판매중/예약중/거래완료를 표기하는 문제였다.날짜를 비교하는 부분은 날짜 그대로 비교하는게 성능적으로 더 좋다기에 created_date = '2022-10-05'와 같이 날짜 그대로 두고 비

상수나 속성 이름을 입력값으로 받아 단일 값을 결과로 반환모든 내장함수는 사용 시 유효한 입력값을 받아야함SELECT절, WHERE절, UPDATE절에서 모두 사용 가능SQL문에서 수학의 기본적인 사칙 연산자와 나머지 연산자 기호를 그대로 사용MySQL은 이러한 연산자

6장. 다양한 연관관계 매핑 엔티티의 연관관계 매핑 시에는 아래 3가지를 고려하게된다. 다중성 단방향, 양방향 연관관계의 주인 두 엔티티가 일대일 관계인지 일대단 관계인지 다중성을 고려하여야한다. 단방향일 때는 괜찮지만, 양방향일 때는 연관관계의 주인을 정해야한다.

엔티티들은 대부분 다른 엔티티와 연관관계가 있다. 이때 자바의 객체는 참조(주소)를 사용해 관계를 맺고, 테이블은 외래 키를 사용해 관계를 맺는다. 이 둘은 앞에서 나왔듯이 특징이 꽤 다르기에 객체의 참조와 테이블의 외래 키를 매핑하는 것이 ORM(객체 관계 매핑)에서
JPA에서는 매핑 어노테이션을 사용해 엔티티와 테이블을 매핑한다. 다양한 매핑 어노테이션들은 아래와 같이 구분해 볼 수 있다. 객체와 테이블 매핑: @Entity, @Table기본 키 매핑: @Id필드와 컬럼 매핑: @Column연관관계 매핑: @ManyToOne, @
Q1. 프로그래머스 클래스 문제: 등록한 방이 2개 이상인 헤비 유저의 등록 건수 출력 처음에 서브쿼리를 안쓰고 문제를 풀 수 있나 생각해봤는데 HOST_ID를 기준으로 그룹을 만들어서 COUNT를 해야하는데 그룹을 만든 이상, 해당 호스트 아이디의 다른 튜플들을 출
데이터 조작어 (DML) 부속질의 : SELECT문 안에 또 다른 SELECT문을 포함하는 질의 부속 질의문(서브 쿼리): 다른 SELECT문 안에 들어 있는 SELECT문

두 개의 테이블에 분산해서 저장하고 읽어와 출력에는 이를 합쳐서 보여줄 수 있음. 중복을 제거할 수 있다는 것이 장점.RENAME TABLE: 테이블 이름 수정 가능author라는 테이블을 기존의 topic 테이블에서 따로 분리해 만들어 중복하여 저장하는 author의
JPA가 제공하는 기능1\. 엔티티와 테이블을 매핑하는 설계 부분2\. 매핑한 엔티티를 실제 사용하는 부분엔티티 매니저(Entity Manager): 엔티티를 저장/수정/삭제/조회하는 등 엔티티와 관련된 모든 일을 처리.데이터베이스를 하나만 사용하는 경우 애플리케이션은

표를 만드는 부분의 SQL을 직접 짜는 경우는 적다고한다. 데이터베이스의 장점은 컬럼에 데이터 타입을 강제(지정) 할 수 있음만드려는 표: id, title, description, created, author, profileid INT(11): 뒤의 11의 의미는 1

Q1. 도서번호가 1인 도서의 이름을 검색하시오.Q2. 가격이 20,000원 이상인 도서의 이름을 검색하시오.Q3. 고객 '박지성'의 총 구매액을 구하시오. Q4. 고객 '박지성'이 구매한 도서의 수를 구하시오.Q5. 5. 고객 '박지성'이 구매한 도서의 출판사 수를