QueryDSL 기본 개념 정리
·
🗨️ Backend/Java
1. QueryDSL이란 무엇인가?QueryDSL은 Java에서 타입 안전한 SQL 쿼리를 작성할 수 있게 도와주는 라이브러리이다.일반적으로 SQL 쿼리는 문자열로 작성되지만,QueryDSL은 이를 객체 지향적으로 작성하여 컴파일 타임에 오류를 확인할 수 있도록 한다.그로 인해 SQL 쿼리의 안정성이 높아지고, 직관적인 쿼리 작성이 가능하다. 주요 특징타입 안전성: SQL 문법 오류를 컴파일 타임에 발견할 수 있다.객체 지향적 쿼리 작성: SQL 쿼리를 자바 코드로 작성할 수 있다.다양한 데이터베이스 연동 가능: SQL, JPA, MongoDB 등 다양한 데이터베이스와 호환된다.2. QueryDSL을 사용해야 하는 이유2.1. 타입 안전성 확보SQL 쿼리는 일반적으로 문자열로 작성된다.이 경우 SQL 구..
JPA에서 변경 감지와 병합(Merge) 이해하기
·
🗨️ Backend/Java
1. 영속성 컨텍스트와 준영속 엔티티란?영속성 컨텍스트(Persistence Context)JPA에서는 엔티티(Entity)를 관리하는 환경을 영속성 컨텍스트(Persistence Context)라고 합니다. 영속성 컨텍스트는 엔티티의 생명 주기를 관리하며, 데이터베이스와의 동기화를 자동으로 처리하는 중요한 역할을 합니다.준영속 엔티티(Detached Entity)준영속 엔티티(Detached Entity)란, 한 번 영속 상태(Persistent State)였다가 현재는 영속성 컨텍스트에서 관리되지 않는 엔티티를 의미합니다.예를 들어, 데이터베이스에서 조회된 Book 객체가 존재하는데, 트랜잭션이 종료되거나 영속성 컨텍스트에서 분리되면 해당 객체는 준영속 상태가 됩니다. 이러한 객체를 다시 수정하려면 ..
JPA란? 개념, 영속성 컨텍스트, JPQL까지 한번에 정리
·
🗨️ Backend/Java
JPA(Java Persistence API)는 자바 애플리케이션에서 관계형 데이터베이스를 쉽게 다룰 수 있도록 도와주는 ORM(Object-Relational Mapping) 기술이다. 즉, SQL을 직접 작성하지 않고 자바 객체를 통해 데이터베이스와 상호작용할 수 있도록 해준다.✅ JPA의 주요 개념1. ORM(Object-Relational Mapping)JPA는 ORM 기술을 기반으로 동작하며, 객체와 관계형 데이터베이스 테이블을 매핑하는 역할을 한다. 이를 통해 SQL을 직접 다루지 않아도 객체를 활용하여 데이터를 저장하고 조회할 수 있다.2. 엔티티(Entity)JPA에서 데이터베이스 테이블과 매핑되는 자바 객체를 "엔티티"라고 한다. 엔티티 클래스는 @Entity 어노테이션을 사용하여 정의한..
Kyle99
'JPA' 태그의 글 목록