🍀Spring/📖jpa

Wating
🍀Spring/📖jpa

[JPA] 변경 감지(Dirty Checking)

✅ 더티체킹이란?Dirty Checking은 영속성 컨텍스트(Persistence Context)에서 엔티티(Entity)의 변경 사항을 자동으로 감지하고, 변경된 내용만을 데이터베이스에 동기화하는 기능이다. 이는 영속성 컨텍스트에서 Entity를 스냅샷으로 상태 변화를 추적하고 있기 때문에 가능하다. 💡—파일시스템의 Dirty Checking JPA의 Dirty Checking의 개념은 파일 시스템의 Dirty Checking의 개념에서 나왔다. 디스크에 데이터를 저장하는 것은 많은 리소스 비용이 발생하기 때문에 파일 시스템은 메모리에 변경된 데이터를 모아서 디스크에 일괄 쓰거나 적절한 시간에 쓰도록 조절함으로써, 비용이 많이 드는 디스크 쓰기 작업의 수를 줄일 수 있다. @Slf4j @Required..

🍀Spring/📖jpa

[JPA] 영속성 컨텍스트(Persistence Context)

✅ 영속성 컨텍스트란?우리말로 간단하게 이야기하면 ‘엔티티를 영구 저장하는 환경’이라는 뜻으로 번역하고 있다. 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍트에 인티티를 보관하고 처리한다. EntityManagerFactory(엔티티 매니저 팩토리):EntityManagerFactory는 EntityManager 인스턴스를 생성하고 관리하는 역할을 한다. 일반적으로 JPA 애플리케이션이 시작될 때 하나만 생성된다.EntityManagerFactory는 어떤 영속성 유닛(보통 persistence.xml 파일에 정의됨)을 사용할 것인지와 관련 설정을 제공하여 생성된다. EntityManager(엔티티 매니저):EntityManager는 엔티티에 대한 CRUD(Create, Rea..

Wating
🍀Spring/📖jpa

[JPA] Dialect

✅ Dialect란? Dialect는 방언이라는 뜻이다. SQL의 표준을 지키지 않거나 특정 데이터베이스에서만 사용하는 기술을 dialect라고 한다. 다른 데이터베이스 시스템에서 찾을 수 없는 고유한 기능, 확장 및 문법을 포함한다. ➡️ 예를 들면데이터 타입 : 가변 문자 타입으로 MySQL은 VARCHAR, 오라클은 VARCHAR2를 사용한다.다른 함수명 : 문자열을 자르는 함수로 SQL 표준은 SUBSTRING()을 사용하지만 오라클은 SUBSTR()을 사용한다페이징 처리 : MySQL은 LIMIT를 사용하지만 오라클은 ROWNUM을 사용한다 JPA 구현체들은 이런 문제를 해결하려고 다양한 데이터베이스 방언 클래스를 제공한다. 이로써 특정 데이터 베이스의 의존적인 방언 처리는 JPA를 사용하게 되..

🍀Spring/📖jpa

[JPA] JPA(Java Persistence API)

✅ JPA란? JPA는 "Java Persistence API"의 약자로, Java 언어를 사용하여 객체 지향 프로그래밍과 관계형 데이터베이스 간 상호 작용을 지원하는 자바 표준 스펙이나 API이다. JPA는 자바 ORM(Object Relational Mapping) 기술에 대한 API 표준 명세를 뜻한다. 애플리케이션과 JDBC 사이에서 동작한다. #Spring Data JPA와는 다르다. Spring Data JPA를 JPA를 조금 더 편리하게 사용하기 위해 확장한 기술이다. 🔹ORM 기술이란?ORM 기술은 말 그대로 객체와 관계형 데이터 베이스를 매핑해 주는 기술이다. ORM은 SQL문의 수행 결과를 매핑하는 것이 아닌 DB 테이블의 데이터 그 자체와 객체를 매핑한다. 개발자가 직접 SQL을 작성..

jhcode33
'🍀Spring/📖jpa' 카테고리의 글 목록 (2 Page)