(방울)도마토의 개발일지

고정 헤더 영역

글 제목

메뉴 레이어

(방울)도마토의 개발일지

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • Developer (154)
    • TIL (16)
    • AppleAcademy (32)
    • Swift&SwiftUI (40)
      • UIKit (3)
    • UXUI (3)
    • HIG (2)
    • SeSAC (1)
    • Java Script (8)
    • Java (18)
    • Database (26)
      • MySQL (8)
      • Spring (5)
      • SpringBoot and JPA (10)
    • Algorithm and Data Structur.. (0)
    • ML (3)
    • StackOverflow for domato (1)

검색 레이어

(방울)도마토의 개발일지

검색 영역

컨텐츠 검색

Database/SpringBoot and JPA

  • [SpringBoot&JPA] Spring Data JPA

    2025.11.30 by (방울)도마토

  • [JPA] Native Query

    2025.11.30 by (방울)도마토

  • [JPA] JPQL

    2025.11.30 by (방울)도마토

  • [JPA] Association Mapping

    2025.11.24 by (방울)도마토

  • [JPA] Mapping - Entity, Embedded, Composite key

    2025.11.24 by (방울)도마토

  • [JPA] EntityLifeCycle

    2025.11.23 by (방울)도마토

  • [JPA] Persistence Context 개념과 CRUD

    2025.11.20 by (방울)도마토

  • [JPA] JPA의 특징과 원리

    2025.11.20 by (방울)도마토

[SpringBoot&JPA] Spring Data JPA

1. Spring Data JPAJPA를 더 쉽게 사용할 수 있게 도와주는 Spring Data 모듈Repository 인터페이스와 쿼리 메서드만으로 대부분의 SQL을 대신 처리함 EntityManager를 직접 다루지 않고도 CRUD, 페이징, 정렬, 쿼리 메서드까지 한 번에 지원함 2. Repository 인터페이스 구조 CrudRepository : 기본 CRUD 기능PagingAndSortingRepository : 페이징 및 정렬 기능 추가 JpaRepository : 배치 삭제, flush 등 JPA 특화 기능 추가 => 보통 실무에서는 JpaRepository를 상속받는 Repository를 하나 정의하고, 여기에 별도 구현 없이 대부분의 데이터를 처리함 3. 기본 CRUD 예제3-1. ..

Database/SpringBoot and JPA 2025. 11. 30. 17:44

[JPA] Native Query

Native Query Native Query는 JPQL이 아니라 DB SQL 문장을 그대로 쓰면서도 EntityManager를 통해 실행하는 방식 복잡한 쿼리, 특정 DB 전용 기능을 써야 할 때 사용 기본 APIcreateNativeQuery(sql, Class resultClass): 전체 컬럼을 엔티티에 매핑할 수 있을 때createNativeQuery(sql): 결과 타입을 특정할 수 없을 때(Object[]로 받음)// 엔티티 전체 컬럼을 결과 타입으로 지정public Menu nativeQueryByResultType(int menuCode) { String query = "SELECT menu_code, menu_name, menu_price, category_code, ..

Database/SpringBoot and JPA 2025. 11. 30. 13:53

[JPA] JPQL

What is JPQLJava Persistence Query Language 엔티티 객체를 대상으로 하는 객체 지향 쿼리 언어특정 DB에 종속되지 않고 JPA 방언이 실제 SQL로 변환해 실행함 find()처럼 PK로 단건 조회하는 것이 아니라, 복잡한 조건 검색, 집계, 조인 등을 할 때 항상 SQL을 날려서 결과를 가져 오는 방식 기본 문법과 쿼리 객체 키워드는 SQL과 거의 같지만, INSERT는 JPQL이 아니라 엔티티를 persist()하는 방식으로 처리함엔티티/필드명은 대소문자를 구분하며 반드시 별칭을 써야함 JPQL 실행 순서는 JPQL 문자열 작성 → entityManager.createQuery()로 Query/TypedQuery 생성 → getSingleResult()/getRes..

Database/SpringBoot and JPA 2025. 11. 30. 09:43

[JPA] Association Mapping

1. Association MappingEntity 클래스 간의 관계(연관)를 매핑하는 것 데이터베이스 테이블 간의 관계를 객체로 설계하여 JPA가 이를 관리하게 함 다중성에 따라 N:1 (ManyToOne), 1:N (OneToMany), 1:1 (OneToOne), N:N (ManyToMany) 로 분류됨방향성에 따라 단방향/양방향이 있음 2. ManyToOne다대일(N:1) 관계에서 사용됨 여러 개의 메뉴(Menu)는 하나의 카테고리(Category)에 속함 Menu가 Many, Category가 One이 됨!여러 엔티티가 특정 하나의 엔티티를 참조할 때 사용됨 게시글-회원, 주문-고객@Entity@Table(name = "tbl_menu")public class Menu { @Id p..

Database/SpringBoot and JPA 2025. 11. 24. 23:33

[JPA] Mapping - Entity, Embedded, Composite key

* application.yml 설정에 추가할 내용 // 들여쓰기를 조심하세용!spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/menudb username: ohgiraffers password: ohgiraffers jpa: show-sql: true database: mysql hibernate: ddl-auto: create properties: hibernate: format_sql: true 1. Entity JPA에서 데이터베이스의 테이블과 1:1로 매핑되는 클래스 현실 세계나 비즈니스에서 관..

Database/SpringBoot and JPA 2025. 11. 24. 23:12

[JPA] EntityLifeCycle

1. Persistence Context?엔티티를 저장, 조회, 변경, 삭제하는 논리적 환경 또는 저장소 EntityManager에 의해 관리되며, 1차 캐시로 사용됨 2. LifeCycle 단계 2-1. 비영속(New / Transient) 엔티티 객체를 생성만 한 상태 아직 Persistence Context에 저장되지 않음@DisplayName("비영속 테스트")@ParameterizedTest@ValueSource(ints = {1, 2})void testTransient(int menuCode) { Menu foundMenu = lifeCycle.findMenuByMenuCode(menuCode); Menu newMenu = new Menu( foundMenu.getM..

Database/SpringBoot and JPA 2025. 11. 23. 23:02

[JPA] Persistence Context 개념과 CRUD

1. Persistence Context 핵심 개념 정리┌──────────────────────────────────────────────────────────────┐│ EntityManagerFactory (싱글톤) ││ - 애플리케이션 전체에서 단 1개 생성 ││ - 스레드 세이프 ││ - EntityManager를 생성하는 공장(factory) │└───────────────▲──────────────────────────────────────────..

Database/SpringBoot and JPA 2025. 11. 20. 22:32

[JPA] JPA의 특징과 원리

1. JPA의 개념Java 진영의 ORM(Object Relation Mapping) 기술 표준 인터페이스 객체 DB 테이블 사이 매핑을 자동으로 처리 내부적으로 JDBC API를 사용하지만 개발자의 SQL 작성 부담이 줄어듦Hibernate로 주로 구현됨 2. JPA의 주요 특징 2-1. 영속성 컨텍스트(Persistence Context)가 엔티티를 관리함EntityManager에 의해 생성됨 EntityLifeCycle(비영속 -> 영속 -> 준영속 -> 삭제)를 관리 여러 자동화 기능(캐시, 변경 감지, 쓰기 지연 등)의 핵심 2-2. Dialect 제공 DBMS 별로 SQL 문법 차이를 JPA가 자동 처리 개발자가 DB 종류에 따른 SQL을 작성할 필요 없음2-3. Native SQL 지원필..

Database/SpringBoot and JPA 2025. 11. 20. 17:21

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
(방울)도마토의 개발일지 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바