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 연관관계 매핑: 객체 간의 관계를 표현하고 데이터베이스에 저장

JPA 연관관계 매핑: 객체 간의 관계를 표현하고 데이터베이스에 저장

정리 요약 관계 다대일(N : 1) @ManyToOne 일대다( 1 : N) @OneToMany 일대일( 1 : 1) @OneToOne 다대다(N : N) @ManyToMany 방향성 테이블 외래 키로 양쪽 조인이 가능 방향이라는 개념이 없음 객체 참조용 필드가 있는 쪽으로만 참조 가능 단방향: 한 쪽만 참조 양방향: 양쪽이 단방향으 서로 참조 연관관계의 주인 테이블은 외래 키 하나로 두 테이블의 연관관계를 찾음 객체 양방향 관계는 양쪽이 모두 참조를 하므로 참조가 2군데 이다 연관관계의 주인: 외래 키를 관리하는 참조 데이터베이스와 객체의 패러다임 차이 JPA는 객체와 관계형 데이터베이스 간의 매핑을 지원해 주는 기술로, 객체 지향적인 프로그래밍으로 데이터베이스를 조작할 수 있게 해 줍니다. 객체와 관..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 18.
  • textsms
JPA 생성 및 수정 날짜 자동 처리를 위한 공통 엔티티 만들기 @MappedSuperclass, @EnableJpaAuditing

JPA 생성 및 수정 날짜 자동 처리를 위한 공통 엔티티 만들기 @MappedSuperclass, @EnableJpaAuditing

서비스를 만들때 많은 엔티티가 생성일과 수정일을 가지고 있습니다. 이러한 필드를 각각의 엔티티마다 중복으로 작성하는 것은 번거로울 뿐 아니라 유지보수도 복잡해지고 가독성도 떨어집니다. 때문에 우리는 공통으로 갖고 있는 정보(생성일과 수정일)를 따로 엔티티로 만들어 상속받게 만들어보겠습니다. @MappedSuperclass JPA에서 상속 관계 매핑을 위해 사용되는 어노테이션입니다. 이 어노테이션을 사용하면 공통된 매핑 정보를 가진 부모 클래스를 정의할 수 있고, 여러 엔티티에서 공통 필드와 매핑 정보를 상속받아 사용할 수 있습니다. `@MappedSuperclass` 어노테이션이 붙은 부모 클래스를 자식 엔티티가 상속받게 되면, 부모 클래스는 테이블로 생성되지 않고, 상속한 자식 클래스로 테이블이 생성됩..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 17.
  • textsms
JPA ddl-auto: 데이터베이스 스키마 자동 생성 전략

JPA ddl-auto: 데이터베이스 스키마 자동 생성 전략

1. `create`: 새로 생성 어플리케이션을 실행할 때마다 기존 데이터는 삭제하고, 데이터베이스 스키마를 새로 생성하는 전략입니다. spring.jpa.hibernate.ddl-auto=create 2. `create-drop`: 종료할 때 삭제 데이터베이스 스키마가 새로 생성된다는 점에서는 create 전략과 같지만, create-drop은 어플리케이션이 종료될 때 데이터베이스 스키마도 삭제됩니다. spring.jpa.hibernate.ddl-auto=create-drop 3. `update`: 변경된 내용만 반영 데이터베이스 스키마에 영향을주지 않고, 엔티티 클래스의 변경사항만을 반영합니다. 즉, 데이터베이스 스키마는이미 존재하는 상태에서엔티티 클래스의 변경을반영합니다. spring.jpa.hib..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 17.
  • textsms
JPA 엔티티 매핑: 객체와 데이터베이스 테이블의 매핑

JPA 엔티티 매핑: 객체와 데이터베이스 테이블의 매핑

엔티티(Entity) 매핑 JPA 엔티티 매핑은 다음과 같은 주요 어노테이션과 개념을 활용하여 이루어집니다. 객체와 테이블 매핑: @Entity, @Table 기본 키 매핑: @Id, @GeneratedValue 필드와 컬럼 매핑: @Column 연관 관계 매핑: @JoinColumn, @ManyToOne, @ManyToMany 등 상속 관계 매핑: @Inheritance, @DiscriminatorColumn, @DiscriminatorValue @Entity 엔티티 클래스임을 지정하여 JPA에게 알려줍니다. 기본 생성자가 필요합니다. 저장할 필드에 `final`을 사용하면 안 됩니다. final 클래스, enum, interface, inner 클래스에는 사용할 수 없습니다. @Table 엔티티와 매..

  • format_list_bulleted Spring Data/JPA
  • · 2023. 8. 17.
  • textsms
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
  • navigate_before
  • 1
  • ···
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • ···
  • 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
  • #querydsl
  • #servlet
  • #Java
  • #jsp
  • #JDBC
  • #이펙티브 자바
  • #mybatis
  • #게시판
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바