Spring Data JPA에서는 객체와 데이터베이스 간의 관계를 매핑하기 위해 다양한 애노테이션을 제공한다. 이 애노테이션은 테이블 간의 관계(1:1, 1:N, N:1, N:N)를 엔티티 클래스를 통해 정의할 수 있도록 돕는다. 각각의 애노테이션과 함께 자주 사용되는 @GeneratedValue, @JoinColumn 등의 애노테이션도 설명한다.1. @ManyToOne @ManyToOne은 여러 엔티티가 하나의 엔티티와 연결될 때 사용한다. 예를 들어, 여러 개의 주문(Order)이 하나의 사용자(User)와 연결되는 경우이다. 데이터베이스에서는 외래 키(Foreign Key)를 통해 관계를 설정한다. 예시: 사용자와 주문@Entitypublic class Order { @Id @Genera..
Querydsl은 Java 기반의 타입 안전한 동적 쿼리 생성 도구로, SQL, JPA, MongoDB 등 다양한 데이터베이스와 연동할 수 있다. 특히 JPA와 함께 사용하면 JPA의 동적 쿼리 작성이 더욱 간단하고 효율적으로 바뀐다. JPQL(Java Persistence Query Language)의 단점을 극복하기 위해 등장한 Querydsl은 컴파일 타임에 오류를 감지할 수 있는 타입 안전성을 제공하며, 동적 쿼리를 작성하는 데 뛰어난 가독성과 간결함을 제공한다. build.gradle 설정dependencies { implementation 'com.querydsl:querydsl-jpa:5.0.0' annotationProcessor 'com.querydsl:querydsl-apt:..
Spring Data JPA는 데이터베이스와 객체 간의 매핑을 단순화하고, 데이터베이스 작업을 효율적으로 처리할 수 있도록 설계된 모듈이다. MySQL과 함께 사용하여 데이터베이스를 구성하려면 JPA의 핵심 개념과 자주 사용하는 애노테이션에 대해 깊이 이해하는 것이 중요하다. 먼저, JPA와 Spring Data JPA가 등장하기 전의 데이터베이스 접근 기술과 그 한계, 이를 해결하기 위해 등장한 ORM(Object-Relational Mapping)의 발전 과정을 알아보자. 1. JDBC (Java Database Connectivity) JDBC는 Java의 표준 데이터베이스 접근 API로, SQL을 직접 작성하고 데이터베이스와의 통신을 수동으로 관리한다. 초기에는 대부분의 애플리케이션이 이 방식을 ..
JWT(JSON Web Token)는 JSON 형식의 데이터를 이용해 사용자 인증 및 정보 교환을 안전하게 수행하는 토큰이다. 웹에서 사용자를 인증하고 권한을 부여하는데 주로 클라이언트와 서버 간의 정보를 안전하게 전송하는 데 사용된다. JWT 구성1. 헤더 (Header) - JWT의 유형 정의 및 사용하는 서명 알고리즘(SHA256 or RSA)을 지정한다. 2. 페이로드 (Payload) - 실제 데이터가 포함된 부분. 보통 사용자 정보나 기타 중요한 데이터를 포함하며, "클레임(Clame)"이라고 불리는 항목을 담고있다. 클레임은 JWT의 세 가지 유형이 있는데, iss(발행자), exp(만료 시간), sub(주제)등을 포함한 등록된 클레임, 사용자가 정의할 수 있는 공개 클레임, 특정 애플리케이..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.