본문 바로가기

java49

record record란?데이터 저장 목적 객체를 간단하게 만들기 위한 Java 문법(자바 16부터 정식 지원) record가 자동 생성하는 것생성자gettrt 비슷한 메서드 (기존 getter와 이름이 다르다. getId()가 아닌 id(). 즉, 필드명이 메서드 이름)toString()equals()hashCode() 특징 가장 큰 특징은 불편(immutable). 그렇기 때문에 생성 후 변경 위험이 적으면 좋은 DTO에 많이 쓰인다. record의 장점코드 짧아짐가독성 증가 (DTO 의도 표현 명확)불변 객체 (안정성 증가) 예시public class ProductResponse { private final Long id; private final String name; private fin.. 2026. 5. 15.
CRUD 구현 5 - DTO (Data Transfer Object) 구현 DTO란? “계층 간 데이터를 안전하고 명확하게 전달하기 위한 객체” DTO와 Entity의 차이Entity DB 테이블과 직접 연결된 원본 데이터DTO사용자에게 보여주길 원하는 데이터 (* 필요한 데이터만 전달) Entity를 직접 사용하면 안되는 이유Entity는 DB 구조이다. 이를 그대로 사용자에게 전송할 경우, 보안 문제 발생 가능! (DB 구조(Entity) ≠ API 응답 구조)Entity 변경시, API 응답이 변경되어 프론트엔드 에러 발생 가능! DTO 장점API 안정성 (DTO 외 코드가 변경되어도 API 형식 유지 가능)보안 (민감 정보 숨김)필요한 데이터 전달 (응답 크기 감소)유지보수 편리무한 참조 방지 (JPA 연관관계 문제 해결) 프로젝트 구현public record Order.. 2026. 5. 15.
CRUD 구현 4 - Repository 구현 Repository란?“DB 접근 담당 계층” Repository는 데이터 접근 전략을 담당한다.(fetch join, paging, query 최적화 등) 프로젝트 구현package com.example.crudproject.repository;import com.example.crudproject.entity.Product;import org.springframework.data.jpa.repository.JpaRepository;public interface ProductRepository extends JpaRepository {}package com.example.crudproject.repository;import com.example.crudproject.entity.Order;import .. 2026. 5. 14.
CRUD 구현 3 - Entity 구현 Entity란? “DB 테이블과 연결되는 객체” "상태와 비즈니스 규칙을 가진 객체" 역할DB 테이블 매핑영속성 관리비즈니스 상태 관리참고 : https://record47584.tistory.com/3 JPA(Java Persistence API)에 대한 간단한 정리JPA란?자바 객체와 데이터베이스를 연결해주는 기술DB를 객체처럼 다룰 수 있게 해주는 기술 JPA의 핵심 개념 1 : ORM(Object Relational Mapping)객체와 관계형 DB를 매핑하는 기술자바는 객체 지향이고 DBrecord47584.tistory.com 프로젝트 구현import jakarta.persistence.*;import lombok.Getter;import lombok.NoArgsConstructor;@Ent.. 2026. 5. 14.
JPA(Java Persistence API)에 대한 간단한 정리 JPA란?자바 객체와 데이터베이스를 연결해주는 기술DB를 객체처럼 다룰 수 있게 해주는 기술 JPA의 핵심 개념 1 : ORM(Object Relational Mapping)객체와 관계형 DB를 매핑하는 기술자바는 객체 지향이고 DB는 테이블 구조이므로 이 두 구조를 연결해주는 기술이 필요함DB 테이블과 연결되는 객체를 Entity라고 부름 JPA의 핵심 개념 2 : 영속성 컨텍스트 (Persistence Context)현재 DB와 Entity의 상태를 같게 유지하는 기술변경 감지(Dirty Checking)를 통해 Entity의 값이 변하면 자동으로 DB 값을 변경 JPA의 장점생산성 증가객체 중심 개발 가능유지보수 편리Spring 백엔드 실무에서 표준으로 쓰임 JPA의 단점ORM, 영속성 컨텍스트 등.. 2026. 5. 13.
CRUD 구현 2 - DB 세팅 및 ERD (mySql, JPA) 로컬 DB 생성1. mySql 설치https://code-angie.tistory.com/158#google_vignette [MySQL] MySQL 설치하기 (윈도우 / windows)MySQLMySQL은 가장 많이 사용되는 데이터베이스 중 하나이다.무료이기에 간단히 설치해 바로 사용할 수 있다. 윈도우와 리눅스 등 다양한 운영체제에서 사용 가능해 확장성이 뛰어나다. 표준 SQLcode-angie.tistory.com 2. localhost 디비 생성https://hotinme35.tistory.com/48 [MYSQL] DBeaver 데이터베이스 연결지난번 DBeaver 설치 및 실행을 했으니 mysql 데이터베이스 (database) 연결 하고자 한다 참고 - DBeaver 설치 및 실행 [DBe.. 2026. 5. 12.