INTP 개발자
close
프로필 배경
프로필 로고

INTP 개발자

  • 분류 전체보기 (399)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (1)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Batch (1)
      • Spring Infra (0)
    • Docker (7)
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17)
      • Architecture (1)
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
  • 홈
  • 태그
JPA Spring Data JPA: 스프링 프레임워크에서 JPA 편리하게 사용하기

JPA Spring Data JPA: 스프링 프레임워크에서 JPA 편리하게 사용하기

Spring Data JPA Spring Data JPA는 Spring 프레임워크의 일부로, JPA(Java Persistence API)를 편리하게 이용할 수 있습니다. 이를 통해 개발자들은 데이터 엑세스 코드를 작성하는데 적은 시간을 투자하고, 비즈니스 로직에 더욱 집중할 수 있습니다. Repository 인터페이스: 편리함 증대 Spring Data JPA는 데이터베이스와의 상호작용을 더욱 간단하게 만들기 위해 Repository 인터페이스를 활용합니다. 기존의 JPA에서는 개발자가 EntityManager를 사용하여 데이터베이스 작업을 수행하였습니다. 그러나 Spring Data JPA는 이보다 더 추상화된 접근 방식을 제공합니다. 개발자는 단순히 Repository 인터페이스를 정의하고, 필요한..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 25.
  • textsms
JPA JPQL(객체 지향 쿼리 언어)를 완벽히 이해해보자

JPA JPQL(객체 지향 쿼리 언어)를 완벽히 이해해보자

JPQL: Java Persistence Query Language `em.find()` 메서드는 엔티티의 기본키를 이용하여 데이터를 가져오는 방법입니다. 하지만 `em.find()` 메서드만으로는 더 복잡한 검색 조건이나 특정 필드 기반의 조회 등의 다양한 쿼리를 작성하기는 어렵습니다. 이러한 처리를 위해 SQL과 같은 유연한 처리를 위해 JPQL를 제공합니다. JPQL은 다음과 같은 특징을 갖고 있습니다. 객체 지향적 쿼리 작성: SQL: 데이터베이스 테이블을 대상으로 하는 데이터 중심의 쿼리 JPQL: Entity 객체를 대상으로 하는 객체지향 쿼리 데이터 베이스의 독립성: JPQL은 SQL 문법을 추상화하였기 때문에 데이터베이스 독립성을 제공합니다. 복잡한 쿼리 작성 용이: 기존 JPA와는 다르게..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 23.
  • textsms
JPA '값 타입'의 선언과 활용, @AttributeOverride와 @ElementCollection, @CollectionTable 역할

JPA '값 타입'의 선언과 활용, @AttributeOverride와 @ElementCollection, @CollectionTable 역할

값 타입 엔티티에서 데이터 타입은 엔티티 타입과 값 타입으로 나눌 수 있습니다. 값 타입은 단순히 값을 의미하고, 고유한 식별자를 가지지 않습니다. 엔티티와 달리 고유한 식별자가 없고, 다른 엔티티와의 관계를 형성하지 않습니다. 값 타입의 데이터들이 고유한 식별자를 갖고 있지 않다고 해서 DB 테이블에 매핑되지 않는 것은 아닙니다. 똑같이 매핑되고 생명 주기도 해당 엔티티에 의존합니다. @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private int age; // ... } 고유한 식별자를 갖고 있는 `id`는 엔티티 타입입니다..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 23.
  • textsms
JPA 영속성 전이(CASCADE)와 고아 객체 제거: 데이터 일관성과 관리 효율 높이는 전략(방법)

JPA 영속성 전이(CASCADE)와 고아 객체 제거: 데이터 일관성과 관리 효율 높이는 전략(방법)

영속성 전이: CASCADE JPA 영속성 전이(CASCADE)는 부모 엔티티의 작업이 자식 엔티티로 전파되도록 설정하는 기능입니다. 부모 엔티티의 변경이나 삭제 작업이 연관된 자식 엔티티에 자동으로 전파됨으로써 데이터의 일관성을 유지합니다. 또 중복된 코드 없이 객체 간의 연관 작업을 간편하게 처리함으로 개발 생산성을 높일 수 있습니다. 사용법은 다음과 같이 cascade 옵션을 지정해 주면 됩니다. `CascadeType.ALL`으로 설정하여 모든 작업을 자식 엔티티로 전파하는 예제 코드입니다. @Entity public class Parent { @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) private List children; // ...

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 23.
  • textsms
JPA 프록시와 지연로딩: 성능 최적화를 위한 기술(방법)

JPA 프록시와 지연로딩: 성능 최적화를 위한 기술(방법)

연관관계인 `Employee`와 `Company` 엔티티가 있을 때, Employee가 Company를 참조하고 있기 때문에 Employee 정보를 조회하려고 하면 Company 정보도 조회하게 될 것입니다. Employee에 대한 정보만 필요하고 연관된 엔티티인 Company에 대한 정보가 필요하지 않은 경우, 이는 불필요한 작업(성능 낭비) 일 것입니다. JPA에서는 이러한 경우를 해결하기 위해 `지연 로딩`이라는 방식을 사용합니다. 지연 로딩: Lazy Loading `지연 로딩`을 구현하기 위해 `프록시`를 활용합니다. Proxy 프록시(Proxy)란 객체 지향 프로그래밍에서 실제 객체에 대한 대리 객체를 생성하여 대신 사용하는 패턴을 말합니다. JPA에서는 프록시 객체를 생성하여, 프록시 객체를..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 22.
  • textsms
JPA 상속 관계 매핑 방법과 공통 매핑하는 방법

JPA 상속 관계 매핑 방법과 공통 매핑하는 방법

JPA는 객체 지향 프로그래밍에서 중요한 개념인 상속 관계를 데이터베이스 테이블과 연결하는 방법을 제공해줍니다. 이를 통해 객체 간의 상속 관계를 데이터베이스에서도 표현할 수 있습니다. 이런 매핑으로 객체 지향적인 코드와 데이터베이스의 구조를 조화시켜 객체 지향적인 프로그래밍을 할 수 있습니다. 상속 관계 매핑 방법 JPA에는 3 가지 상속 관계 매핑 방법이 있습니다. 1. 단일 테이블 전략 모든 클래스를 하나의 테이블에 통합하여 저장하는 방식입니다. 부모 클래스와 자식 클래스의 속성을 같은 테이블에 저장하기 때문에, 자식 클래스의 속성을 Nullable하게 해야합니다. 또한 자식 테이블들을 구분하기 위해 컬럼을 추가하여 구분컬럼으로 사용합니다. 이 방식은 테이블이 한 개이기 때문에 조인을 사용하지 않아..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 21.
  • textsms
  • navigate_before
  • 1
  • ···
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • ···
  • 67
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (399)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (1)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Batch (1)
      • Spring Infra (0)
    • Docker (7)
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17)
      • Architecture (1)
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
최근 글
인기 글
최근 댓글
태그
  • #Docker
  • #jsp
  • #회원 관리
  • #querydsl
  • #Java
  • #이펙티브 자바
  • #servlet
  • #JDBC
  • #게시판
  • #mybatis
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바