나를 기록하다
article thumbnail
[JPA] JPA 모르는 개념 정리
Java/JPA 2023. 4. 7. 15:44

목차getter and setterDAO(Data Acess Object)개발 환경 관련 도구mavenMaven의 주요 특징hibernate캐싱(caching)이란?라이브러리(library)라이브러리의 형태라이브러리의 기능라이브러리의 장단점Java의 라이브러리JPA 개발 시작클래스와 테이블 매핑어노테이션데이터베이스 방언하이버네이트가 제공하는 데이터베이스 방언애플리케이션 개발엔티티 매니저, 엔티티 매니저 팩토리트랜잭션 관리비즈니스 로직JPQL(Java Persistence Query Language)영속성 관리엔티티 매니저 팩토리와 엔티티 매니저영속성 컨텍스트(persistence context)란?엔티티의 생명주기엔티티의 4가지 상태비영속영속준영속삭제영속성 컨텍스트의 특징엔티티 조회엔티티 삭제플러시플러시..

article thumbnail
[JPA] Getter and Setter
Java/JPA 2023. 4. 2. 21:09

getter and setter getter는 클래스의 멤버 변수의 값을 반환하는 메소드입니다. 즉, 객체가 가지고 있는 값을 외부에서 읽을 수 있게 해줍니다. 반면에, setter는 멤버 변수의 값을 설정하는 메소드입니다. 이 메소드를 사용하여 외부에서 객체 내부의 값을 변경할 수 있습니다. 이러한 getter와 setter를 통해 클래스 내부의 멤버 변수를 안전하게 관리하고, 캡슐화를 구현할 수 있습니다. 또한, 이를 이용하여 객체의 상태를 제어하고 유효성 검사 등을 수행할 수 있습니다. 따라서 getter와 setter는 자바 프로그래밍에서 매우 중요한 역할을 수행하며, 객체지향 프로그래밍에서 캡슐화와 정보 은닉을 구현하는 데 필수적입니다. 예를 들어, 학생 클래스를 만든다고 가정해봅시다. 이 클래..

article thumbnail
[JPA] 객체와 테이블, 조인 전략
Java/JPA 2023. 4. 2. 19:49

객체와 테이블 JPA(Java Persistence API)는 자바 어플리케이션에서 관계형 데이터베이스를 사용하기 위한 인터페이스를 제공합니다. 여기서 객체와 테이블 간의 매핑이 중요한데요, 객체는 자바 프로그램에서 사용되는 인스턴스를, 테이블은 데이터베이스에서 데이터를 저장하는 구조를 나타냅니다. 이 매핑은 JPA를 통해 객체와 테이블 사이에 어떻게 데이터를 주고받을 것인지를 정의합니다. 객체와 테이블 간의 관계를 이해하기 위해 간단한 예시를 들겠습니다. 예를 들어, 도서관에서 책과 작가 정보를 관리하는 프로그램을 만든다고 가정해봅시다. 먼저, 자바 프로그램에서 사용할 객체를 만듭니다. @Entity public class Book { @Id @GeneratedValue private Long id; ..

article thumbnail
[JPA] Flush
Java/JPA 2023. 3. 19. 12:01

Flush란? JPA에서 "flush"는 엔티티 매니저의 컨텍스트에 대한 변경 사항을 기존의 데이터베이스와 동기화하는 프로세스 를 말합니다. 엔티티 매니저에서 관리되는 엔티티에 대한 작업을 수행할 때(예: persist, remove, update 등), 변경 사항은 즉시 데이터베이스에 유지되지 않습니다. 대신, 변경 사항은 엔티티 매니저의 컨텍스트에 보관되어 플러시 작업이 트리거될 때까지 유지 됩니다. 그 시점에서 변경 사항이 데이터베이스로 전송되어 커밋 됩니다. 플러시 작업을 수동으로 트리거하려는 경우 몇 가지 시나리오가 있습니다. 관리되는 엔티티에 대한 변경 사항이 즉시 데이터베이스에 유지되도록 보장하기 위해서입니다. 플러시 작업 이후에 실행되는 모든 SQL 쿼리에서 데이터베이스에서 최신 데이터를 ..

article thumbnail
[JPA] JPQL의 기초
Java/JPA 2023. 3. 16. 12:06

1. JPQL이란? JPQL은 Java Persistence API (JPA)의 쿼리 언어 중 하나이며, 객체 지향적인 방식으로 데이터베이스를 다루기 위한 언어이다. JPQL은 엔티티 객체를 대상으로 쿼리를 작성하며, SQL과 유사한 구문을 사용한다. 그러나 JPQL은 객체 지향적인 개념에 기반을 두기 때문에, 테이블과 컬럼 이름 대신에 엔티티 클래스와 필드 이름을 사용하고, SQL에서처럼 JOIN 조건을 명시할 필요가 없다. JPQL을 사용하면 객체 지향적인 개념으로 데이터를 다룰 수 있으며, JPA에서 제공하는 다양한 기능을 활용할 수 있다. 예를 들어, 상속 관계가 있는 엔티티를 조회할 때는 JPQL의 상속 관계를 지원하는 기능을 사용할 수 있다. JPQL은 EntityManager 인터페이스를 사..

article thumbnail
[JPA] JPA 기초설정과 H2 DB 연동
Java/JPA 2023. 3. 16. 11:30

1. 라이브러리 추가 - pom.xml 4.0.0 jpa-basic ex1-hello-jpa 1.0.0 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 2.1.214 2. JPA 설정하기 - persistence.xml JPA 설정 파일 /META-INF/persistence.xml 위치 persistence-unit name으로 이름 지정 javax.persistence로 시작 : JPA 표준 속성 hibernate로 시작 : 하이버네이트 전용 속성 3. persistence.xml 4. 데이터베이스 방언 JPA는 특정 데이터베이스에 종속되지 않음 각각의 데이터베이스가 제공하는 SQL 문법과 함수는 조금씩 다름 방언 : SQL ..

profile on loading

Loading...