전체 글 25

JPA 기본 키 매핑과 자동 생성 전략

자바 ORM 표준 JPA 프로그래밍 - 4장JPA 엔티티 매핑부터 스키마 자동 생성, 기본 키 생성 전략까지 정리JPA를 공부하면서 객체와 테이블을 어떻게 연결하는지, 데이터베이스 스키마 자동 생성은 무엇인지, 기본 키는 어떻게 생성하는지까지 한 번에 정리해보았다.전체 흐름은 다음과 같다.객체와 테이블 매핑 ↓@Entity / @Table / @Column ↓데이터베이스 스키마 자동 생성 ↓DDL ↓제약조건 ↓@Id 기본 키 매핑 ↓직접 할당 / 자동 생성 ↓IDENTITY / SEQUENCE / TABLE / AUTO / UUID ↓자연 키 / 대리 키1. 객체와 테이블 매핑JPA에서는 자바 객체인 엔티..

공부 2026.08.28

영속성 관리 - 준영속,병합

준영속(Detached)준영속 상태란영속성 컨텍스트가 관리하던 영속 상태의 엔티티가 영속성 컨텍스트의 관리에서 분리된 상태를 말한다.즉, 객체 자체가 없어지는 것이 아니라 JPA가 더 이상 해당 객체를 관리하지 않는 상태가 되는 것이다.영속 상태Member 객체 ↓영속성 컨텍스트가 관리 ↓ detach준영속 상태Member 객체는 그대로 존재 ↓영속성 컨텍스트는 관리하지 않음따라서 준영속 상태가 되면 영속성 컨텍스트가 제공하던 기능을 사용할 수 없다.예를 들어1차 캐시변경 감지(Dirty Checking)동일성 보장쓰기 지연지연 로딩등의 기능을 더 이상 정상적으로 사용할 수 없다.1. 엔티티를 준영속 상태로 만드는 방법준영속 상태로 만드는 대표적인 방법은 세 가지다.1-1. d..

공부 2026.08.27

영속성 관리 - 영속

자바 ORM 표준 JPA 프로그래밍 - 3장 영속성 관리JPA가 제공하는 기능은 크게 두 가지로 나눌 수 있다.엔티티와 데이터베이스 테이블을 매핑하는 기능매핑한 엔티티를 실제로 저장, 조회, 수정, 삭제하는 기능이번 장에서는 매핑한 엔티티를 엔티티 매니저(EntityManager) 를 통해 어떻게 사용하는지 알아본다.1. 엔티티 매니저(EntityManager)엔티티 매니저는 엔티티와 관련된 대부분의 작업을 처리한다.저장조회수정삭제개발자 입장에서는 엔티티 매니저를 엔티티를 저장하고 관리하는 가상의 데이터베이스라고 생각하면 이해하기 쉽다.em.persist(member); // 저장em.find(Member.class, "member1"); // 조회em.remove(membe..

공부 2026.08.27

Kt TECH UP 백엔드 과정 후기

1. 왜 Kt TECH UP을 선택했나백엔드 부트캠프를 알아보면서 가장 크게 고민했던건 이 교육의 프로젝트가 실제로 얼마나 도움이 될까 였다.많은 부트캠프가 소규모 팀 단위 개발 경험에 그치는 경우가 많았는데 KT TechUp 백엔드 과정은 다양한 7개의 직군이 함께 대규모 트래픽을 고려한 시스템 설계로 성능 최적화, 배포까지 포함 된 커리큘럼 이었다.이는 다른 부트캠프와의 차별점이자 장점이고, 실무와 비슷한 경험을 얻을 수 있다고 생각했다. 2. 핵심 경험 - 대규모 실무 통합 프로젝트이 과정의 가장 큰 차별점은 5개월 차에 진행되는 대규모 통합 프로젝트였다.일반적인 부트캠프와 다르게,PMPD프론트엔드백엔드풀스택클라우드 인프라 클라우드 네이티브AI보안이렇게 여러 직군이 함께 참여하는 구조였다.처음에는 ..

카테고리 없음 2026.04.22

equals() & hashcod() 완벽 정리

Java equals() & hashCode() 완벽 정리1️⃣ Object.equals() 기본 동작자바에서 모든 클래스는 Object를 상속받습니다. Object 클래스에 있는 equals() 기본 구현은 다음과 같습니다:public boolean equals(Object obj) { return (this == obj);}즉, 기본 equals()는 두 객체의 참조값(주소)이 같은지만 비교합니다.예제:String a = new String("hello");String b = new String("hello");System.out.println(a == b); // false, 서로 다른 객체System.out.println(a.equals(b)); // true, String 클래스에..

자바(Java) 2025.10.31

추상 클래스(Abstract Class) 완벽 정리

💡 추상 클래스(Abstract Class)자바에서 추상 클래스(Abstract Class)는 객체 지향 프로그래밍에서 매우 중요한 개념 중 하나입니다. 공통된 특성을 묶어 상속 구조를 설계할 때, "반드시 오버라이딩해야 하는 메서드"를 명확하게 지정할 수 있도록 도와줍니다.📌 추상 메서드 (Abstract Method)자식 클래스에서 반드시 오버라이딩(재정의)해야 하는 메서드입니다.선언만 있고, 구현(메서드 몸통)이 없습니다.abstract 키워드를 사용합니다.abstract void print();📌 추상 클래스 (Abstract Class)하나 이상의 추상 메서드를 포함한 클래스입니다.객체를 직접 생성할 수 없습니다.공통된 속성이나 기능을 정의하고, 구체적인 구현은 자식 클래스가 담당합니다./..

자바(Java) 2025.10.14

다형성 & instanceof 완벽 정리

1️⃣ 다형성이란?다형성(Polymorphism)이란하나의 객체가 여러 타입을 가질 수 있는 성질을 의미한다.자바에서는 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조할 수 있다.즉, 부모 타입으로 자식 객체를 다룰 수 있는 것이다.Person p2 = new Student(); // ✅ 가능Student s2 = new Person(); // ❌ 불가능 (역방향 불가)2️⃣ 다형성의 특징참조 가능한 방향성: 부모 → 자식 (O), 자식 → 부모 (X)부모 클래스 타입의 참조 변수로 자식 인스턴스 참조 가능자식 클래스끼리는 형변환 불가능3️⃣ 다형성 예제class Person { public void print() { System.out.println("Person.p..

자바(Java) 2025.10.14

상속 (Inheritance) 완벽 정리

객체지향 프로그래밍(OOP)의 핵심 개념 중 하나가 바로 **상속(Inheritance)**입니다.상속을 잘 이해하면 코드 재사용성이 높아지고, 유지보수가 훨씬 쉬워집니다. 🌱 상속이란?**상속(Inheritance)**은 기존 클래스를 기반으로 새로운 클래스를 만드는 기능입니다.즉, 부모 클래스의 속성과 기능(필드와 메소드)을 물려받아 재사용하고,필요한 부분만 **추가하거나 수정(재정의)**할 수 있습니다. ✅ 기본 개념용어설명부모 클래스 (Super Class)상속의 대상이 되는 기존 클래스자식 클래스 (Sub Class)부모 클래스를 상속받는 새로운 클래스자식 클래스는 부모 클래스의 필드와 메소드를 물려받지만,생성자와 초기화 블록은 상속되지 않습니다. 🧱 상속의 기본 문법class 부모클래스 {..

자바(Java) 2025.10.13

클래스와 객체 완벽 정리

1. 클래스(Class)와 객체(Object)클래스 : 객체를 만들기 위한 설계도.비유: 붕어빵 틀객체의 속성(멤버변수)과 기능(메서드)을 정의객체 : 클래스라는 틀을 바탕으로 만들어진 실체비유: 실제 붕어빵속성과 기능을 실제로 가지고 있음속성(Attribute) : 객체의 고유한 특성 → 멤버변수기능(Method) : 객체가 수행할 수 있는 행동 → 메서드생성자(Constructor) : 객체를 생성할 때 호출되어 초기화를 담public class Person { String name; // 속성 int age; // 속성 // 생성자 public Person(String name, int age) { this.name = name; this.age..

자바(Java) 2025.10.02