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

INTP 개발자

  • 분류 전체보기 (397)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (0)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Infra (0)
    • Docker (6)
    • 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 EntityManager와 영속성: JPA의 데이터 관리 이해

JPA EntityManager와 영속성: JPA의 데이터 관리 이해

엔티티(Entity 객체) 엔티티는 데이터베이스의테이블과 매핑되는 클래스입니다. @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String email; // Getter, Setter, Constructor, Methods... } User 클래스에 `@Entity` 어노테이션을 사용하여 엔티티로 지정해줍니다. 그럼 해당 엔티티는 데이터베이스의 User 테이블과 매핑되며, 객체의 속성과 테이블의 컬럼 간의 매핑이 이루어집니다. JPA 엔티티 매핑 속성 자세히 보기 엔티티 매니저(JPA EntityManager) J..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 17.
  • textsms
JPA: 자바 ORM 표준

JPA: 자바 ORM 표준

JPA: 자바 표준의 ORM JPA는 자바 표준의 ORM으로 객체 지향 프로그래밍과 관계형 데이터베이스 간의 간극을 줄이기 위한 기술입니다. 프로그래밍 언어(Java)는 객체지향 언어이고, SQL은 객체지향이 아니기 때문에 객체를 RDB에 저장할 때 개념적으로 불일치가 발생합니다. ORM(Object-Relation Mapping)을 통해 개발자가 클래스를 작성하면 테이블 간의 매핑을 통해 객체를 데이터베이스에 저장하고 조회할 수 있고, 객체 지향적인 방식으로 데이터베이스를 조작할 수가 있습니다. 이를 통해 객체와 데이터베이스 간의 변환 작업도 최소화되며 개발자는 비즈니스 로직에 집중할 수 있게 됩니다. JPA(Java Persistence API)는 ORM의 핵심 원칙을 구현한 Java 표준입니다. 자..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 17.
  • textsms
QueryDSL 페이징 처리

QueryDSL 페이징 처리

바로 전 포스팅인 https://yeo-computerclass.tistory.com/413에서 작성한 코드에 이어 페이징 처리를 실습해보겠습니다. Querydsl 페이지 연동 QueryDSL Custom Repository 인터페이스에 페이지 추가 public interface MemberRepositoryCustom { List search(MemberSearchCondition condition); Page searchPage(MemberSearchCondition condition, Pageable pageable); } searchPage() public Page searchPageSimple(MemberSearchCondition condition, Pageable pageable) { Lis..

  • format_list_bulleted Spring Data/Query DSL
  • · 2023. 1. 19.
  • textsms
QueryDSL Spring Data JPA + 동적 쿼리

QueryDSL Spring Data JPA + 동적 쿼리

Repository 작성 Repository 구성 MemberRepository public interface MemberRepository extends JpaRepository, MemberRepositoryCustom{ // select m from Member m where m.username = ? List findByUsername(String username); } MemberRepositoryCustom public interface MemberRepositoryCustom { List search(MemberSearchCondition condition); } Query DSL로 만들 동적 쿼리인 search 메서드 MemberTeamDto 조회할 Member와Team 정보를 추출하기 위..

  • format_list_bulleted Spring Data/Query DSL
  • · 2023. 1. 18.
  • textsms
QueryDSL 벌크 쿼리

QueryDSL 벌크 쿼리

벌크 연산 한 번에 여러 데이터를 수정 혹은 삭제하는 것을 의미합니다. 영속성 컨텍스트를 무시하고 바로 DB에 반영합니다. 영속성 컨텍스트와 DB의 상태가 달라지게 된다는 의미 벌크 연산으로 대량의 데이터를 수정한 후 fetch()로 데이터를 조회했을 때 변경된 DB에서 값이 아닌 이미 영속성 컨텍스트에 존재하는 데이터를 가져오는 문제가 발생합니다. 벌크 연산 이후 변경된 값을 가져오기 위해 EntityManager.flush()와 EntityManager.clear()를 통해서 영속성 컨텍스트 값을 버려야 합니다. 대량 데이터 수정 // 20살보다 어리면 비회원으로 변경하기 long count = jpaQueryFactory .update(member) .set(member.username, "비회원"..

  • format_list_bulleted Spring Data/Query DSL
  • · 2023. 1. 16.
  • textsms
QueryDSL 동적 쿼리

QueryDSL 동적 쿼리

JPA에서 동적 쿼리를 해결하는 방법 조건에 따라 문자열을 만들어 query문을 만들고 파라미터를 주는 방법 JPA Criteria (JPA 표준 스펙) Query DSL를 통한 동적 쿼리 생성 Query DSL 동적 쿼리 만드는 방법 BooleanBuilder Where 다중 파라미터 사용 1. BooleanBuilder @Test void dynamicQueryUsingBooleanBuilder(){ String usernameParam = "member"; Long ageParam = 10; List result = searchMember(usernameParam, ageParam); assertThat(result.size()).isEqualTo(1); } private List searchMem..

  • format_list_bulleted Spring Data/Query DSL
  • · 2023. 1. 16.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (397)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (0)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Infra (0)
    • Docker (6)
    • 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)
최근 글
인기 글
최근 댓글
태그
  • #회원 관리
  • #servlet
  • #이펙티브 자바
  • #JDBC
  • #querydsl
  • #Java
  • #jsp
  • #게시판
  • #mybatis
  • #Docker
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바