'SpringBoot' 카테고리의 글 목록
THE 1995 DevOps Note
SpringBoot/JPA
JPA 어노테이션
2025.02.06
1. 엔티티 매핑 관련어노테이션설명@Entity클래스가 JPA 엔티티임을 나타냅니다.@Table(name = "table_name")엔티티와 매핑되는 테이블 이름을 지정합니다.@Id기본 키 필드를 지정합니다.@GeneratedValue(strategy = GenerationType.IDENTITY)기본 키 값을 자동 생성합니다.@Column(name = "column_name")특정 필드를 테이블 컬럼과 매핑합니다.@Transient데이터베이스에 저장하지 않는 필드를 선언합니다.@Embedded값 타입 객체를 포함시킬 때 사용합니다.예시 코드package com.example.demo.hr;import java.sql.Date;import java.util.List;import org.hibernate...
SpringBoot/JPA
JPA EAGER / LAZY
2025.02.06
JPA에서 EAGER와 LAZY는 엔티티 연관 관계를 조회할 때 데이터 로딩 방식을 지정하는 FetchType 옵션이다.1. EAGER (즉시 로딩)연관된 엔티티를 즉시 조회합니다.부모 엔티티를 조회할 때 연관된 자식 엔티티도 즉시 함께 가져옵니다.특징N+1 문제가 발생할 수 있음즉시 로딩이므로 불필요한 데이터가 로드될 가능성 있음연관 데이터가 반드시 필요한 경우 적합코드 예시@ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name="job_id")//생성시 칼럼 이름은 //외래키 만드는 구문 JobEntity job; 2. LAZY (지연 로딩)연관된 엔티티를 실제로 접근하는 시점에 조회합니다.Proxy 객체를 통해 데이터를 필요할 때만 로딩합니다.특징N+1 문제를..
SpringBoot/JPA
JPQL
2025.02.03
JPQL (Java Persistence Query Language)**는 **JPA (Java Persistence API)에서 사용되는 쿼리 언어 객체 지향 프로그래밍 환경에서 데이터베이스에 접근하기 위해 사용되며, SQL과 유사하지만 엔티티(Entity)와 필드를 대상으로 쿼리를 작성하는 것이 특징JPQL 특징객체 중심 쿼리 언어: JPQL은 SQL처럼 테이블과 컬럼을 대상으로 하지 않고 엔티티와 필드를 대상으로 쿼리데이터베이스 독립적: 특정 DBMS에 종속되지 않음표준 JPA 쿼리 방식: JPA가 지원하는 모든 데이터베이스에서 사용 가능JPQL 예제기본 JPQLjava복사편집// 모든 고객 정보 조회 String jpql = "SELECT c FROM CustomerEntity c"; TypedQ..
SpringBoot
SpringBoot-설정
2025.01.16
프로젝트 생성시 jar 로 생성함 application.propertiesserver.port=7777 //서버 포트 설정 server.servlet.context-path=/shinhan //contextpath 설정
SpringBoot/Error
청크 전송 인코딩(Chunked Transfer Encoding)란?
2025.01.08
1. 청크 전송 인코딩(Chunked Transfer Encoding)란?HTTP/1.1에서 사용하는 데이터 전송 방식 중 하나입니다.데이터를 한꺼번에 전송하지 않고 작은 청크(chunk) 단위로 나눠 순차적으로 클라이언트에 보냅니다.마지막 청크는 길이가 0으로 표시되어 전송이 종료되었음을 알립니다.예:http코드 복사HTTP/1.1 200 OK Transfer-Encoding: chunked 4 Wiki 5 pedia 0문제 발생: 만약 서버가 전송을 완료하지 못하고 연결이 끊기거나, 마지막 청크(0)가 제대로 전달되지 않으면 클라이언트는 응답이 불완전하다고 판단해 ERR_INCOMPLETE_CHUNKED_ENCODING 에러를 표시합니다.2. 에러 발생 원인이 에러는 서버, 클라이언트, 네트워크 환경..