[JPA] 기본 키 매핑 - 엔티티(Entity) 매핑 (2)
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ 기본 키 매핑▶ @Id, @GeneratedValueEntity를 식별할 수 있는 Key를 매핑할 때 사용하는 @Id, @Generatedvalue 어노테이션과 속성(전략)이 있다.직접 할당: Key로 매핑할 Field에 @Id만 사용하면 된다.자동 생성: @GeneratedValue, Entity 객체 생성시 자동으로 Key를 정해주는 방법, 전략에 따라 자동 생성된다.IDENTITY: 기본 Key 생성을 데이터베이스에 위임한다.SEQUENCE: 데이터베이스 시퀀스를 사용해서 기본 Key를 할당한다.  TABLE: 키 생성 테이블을 사용한다.AUTO: 기본 전략으로,DB Dialect에 따라 자동 지정된다.🔽 ..
[JPA] 객체와 테이블 매핑 - 엔티티(Entity) 매핑 (1)
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ 객체와 테이블 매핑▶ @EntityJPA를 사용해서 테이블과 매핑할 클래스에 설정한다.속성기능기본값nameJPA에서 사용할 엔티티 이름을 지정클래스 이름 그대로 사용주의사항기본 생성자는 필수이다.final 클래스, enum, interface, inner 클래스에는 사용할 수 없다.저장할 필드에 final을 사용하면 안 된다. ▶ @Table엔티티와 매핑할 테이블을 지정한다.속성기능기본값nameJPA에서 사용할 엔티티 이름을 지정클래스 이름 그대로 사용catalog데이터베이스 catalog를 매핑 schema데이터베이스 schema를 매핑 uniqueConstraints(DDL)DDL 생성 시에 유니크 제약 조건 ..
[JPA] 영속성 컨텍스트(Persistence Context)
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ 영속성 관리▶ 엔티티 매니저 팩토리와 엔티티 매니저엔티티 매니저 팩토리(EntityManagerFactory): 엔티티 매니저를 만드는 공장엔티티 매니저(EntityManager): 엔티티를 관리하는 관리자, 엔티티를 저장, 수정, 삭제, 조회하는 등 엔티티와 관련된 모든 일을 처리한다.엔티티 매니저 팩토리를 생성하는 비용은 상당히 크지만, 반면에 엔티티 매니저를 생성하는 비용은 거의 들지 않는다.엔티티 매니저 팩토리는 여러 스레드가 동시에 접근해도 안전하므로 다른 스레드 간 공유가 가능하지만, 엔티티 매니저는 여러 스레드가 동시에 접근하면 동시성 문제가 발생하므로 스레드 간 절대 공유해서는 안 된다. ▶ 영속성 ..
[JPA] JPA 소개
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ JPA란?JPA(Java Persistence API)는 Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스의 모음이다. ORM(Object-Relational Mapping)은 객체와 관계형 데이터베이스를 매핑하는 역할을 수행하는 것을 가리킨다.인터페이스이기 때문에 Hibernate, OpenJPA 등의 구현체가 필요하다.  ✅ JPA를 사용해야 하는 이유SQL에 의존적인 개발 ➡️ 객체 중심적인 개발JPA가 등장하기 전에는 객체를 관계형 데이터베이스에 관리하기 위해 반복적인 SQL을 작성해야 했다.객체가 수정된다면 그에 맞게 SQL도 수정해야 했다.생산성 ..
[Network] HTTP Method
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ✅ HTTP Method에 대해 설명해 주세요.HTTP(Hypertext Transfer Protocol) Method는 클라이언트-서버 구조에서 요청(request)과 응답(response)이 이루어지는 방식을 의미한다. 클라이언트는 서버가 수행해야 할 동작을 지정하여 요청(request)한다. ▶ HTTP Method 종류GET: 데이터를 조회(요청)할 때 사용한다.POST: 데이터를 생성, 추가할 때 사용한다.PUT: 데이터를 생성, 업데이트할 때 사용한다. (데이터를 완전히 대체한다.)PATCH: 데이터 일부분을 수정할 때 사용한다.DELETE: 데이터를 삭제할 때 사용한다.HEAD: 리소스의 헤더 정보만 요청할 때..
[Network] HTTP 응답 코드
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ✅ HTTP 응답코드에 대해 설명해 주세요.HTTP 응답코드는 서버가 클라이언트의 요청을 처리한 결과를 나타내며, 세 가지 숫자로 구성된 상태 코드와 그에 대한 간단한 설명으로 구성된다. 응답 코드는 크게 다섯 가지 범주로 나뉜다.1xx (정보): 서버가 요청을 받았으며, 해당 프로세스를 계속한다는 의미이다.100 (Continue): 요청을 계속 진행하라는 의미이다. 클라이언트가 요청의 일부를 보내고 서버의 승인을 기다릴 때 사용된다.2xx (성공): 요청이 성공적으로 처리되었음을 나타낸다.200 (OK): 요청이 성공적으로 처리되었음을 의미한다.201 (Created): 요청이 성공적으로 처리되었으며, 그 결과로 새로운..
[Network] 쿠키와 세션
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ✅ 쿠키와 세션의 차이에 대해 설명해 주세요.쿠키(Cookie): 클라이언트(브라우저)에 저장되는 작은 데이터 조각이다. 서버가 클라이언트에게 보낸 후, 클라이언트가 서버에 재접속할 때마다 이를 다시 서버로 보낸다.저장 위치: 클라이언트(브라우저)에 저장된다.수명: 만료 날짜를 설정할 수 있으며, 설정에 따라 브라우저를 닫아도 유지될 수 있다.보안: 클라이언트에 저장되므로, 보안이 중요한 정보는 암호화해야 한다.용량: 일반적으로 4KB까지의 데이터만 저장이 가능하다.세션(Session): 서버 측에서 사용자 정보를 유지하는 방법이다. 각 사용자는 고유한 세션 ID를 가지며, 이 세션 ID는 클라이언트와 서버 간의 요청에 포..
[DB] SQL 기본 문법 정리
·
Programming/DB
✅ SQL 설명▶ SQL 이란?Structured Query Language(구조적 질의 언어)관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위한 데이터 처리 언어▶ SQL 언어 종류DDL(Data Definition Language): 데이터 정의어데이터베이스 객체의 구조를 정의하는 언어예: CREATE, ALTER, DROP, RENAME, TRUNCATE...DML(Data Manipulation Language): 데이터 조작어데이터베이스 테이블 레코드의 CRUD를 통해 내부 데이터를 관리하기 위한 언어예: SELECT, INSERT, UPDATE, DELETE...DCL(Data Control Language): 데이터 제어어데이터 관리를 목적으로 데이터베이스 및 구조에 대한 ..
soeun2537
Hello, 소은!