![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ImjWR/btsey61kRgq/kkQcq88oNeBXnjsqc4aEs0/img.png)
Goals영속성 컨텍스트란?엔티티 생명 주기영속성 컨텐스트의 이점영속성 컨텍스트란?JPA를 이해하는데 가장 중요한 용어는 영속성 컨텍스트(persistence context)다. 우리말로 해석해 보면 ‘엔티티를 영구 저장하는 환경’이라는 뜻이다. JPA를 사용해 엔티티(객체)를 데이터베이스에 저장하기 전에 항상 이 영속성 컨텍스트라는 곳에 먼저 저장해야 한다. 다만, 영속성 컨텍스트에 엔티티를 저장한다고 해서 데이터베이스에 저장되는 것은 아니다. 그럼에도 엔티티를 굳이 영속성 컨텍스트에 먼저 저장하는 이유는 다양한 이점이 있는데, 이는 뒤에서 설명하겠다.엔티티 매니저(EntityManager)로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리할 수 있게 된다. 일반적..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Je70J/btses5TKF2N/1XrW3Xv7sAg2GQ1DWRdUe1/img.png)
Goals QueryDSL 개요 VSCode에서 Gradle로 QueryDSL 설정 방법 조회 방법 동적 쿼리를 위한 BooleanBuilder QueryDSL 개요 보통 JPQL builder로써 JPA Criteria와 QueryDSL이 자주 비교된다. Criteria는 문자가 아닌 코드로 JPQL을 작성하므로 문법 오류를 컴파일 단계에서 잡을 수 있고, IDE의 자동완성 기능의 도움도 받을 수 있다. 하지만 그 구조가 너무 복잡하고 어렵다. 그에 반해 Criteria와 비슷한 장점을 지니면서도 쉽고 간결하며, 그 모양도 쿼리와 비슷하게 개발할 수 있는 프로젝트가 QueryDSL이다. 아래는 Criteria를 사용해서, searchCriteria라는 검색 조건에 따라 두 테이블을 조인하는 동적 쿼리를..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/li9Sv/btsdZOUtRDJ/6U8VMngw3U3W6arDNEx0FK/img.png)
보통 Spring에서 JPA를 사용할 때, 엔티티 매니저(EntityManager) 객체를 Spring 컨테이너로부터 주입 받아 사용한다. 하지만 사실, 우리가 Java 어플리케이션에서 JPA를 사용하기 위해서는 가장 먼저 엔티티 매니저 팩토리(EntityManagerFactory)라는 인터페이스 객체를 먼저 생성해야 한다. 지금까지는 Spring 컨테이너의 도움을 받았기 때문에 이 엔티티 매니저 팩토리의 존재를 몰라도 됐을 것이다. 본 포스팅에서는 컨테이너의 도움 없이, Java SE에서 JPA를 사용하기 위해서는 어떤 과정이 필요하며, 엔티티 매니저 팩토리와 엔티티 매니저에 대해 정리해 보려고 한다. Goals 엔티티 매니저 팩토리 ? 엔티티 매니저 ? 엔티티 매니저가 제공하는 주요 메서드 스프링 프..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bOgg4K/btr0yhA0ITx/OCXlrF4GbvfOOrhKSMkWw1/img.png)
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 김영한 인프런 강의 참고 이전 포스팅 : 2023.02.21 - [Web Programming/Spring&Spring Boot] - [Spring Boot] 입문 - JDBC Template(feat. 스프링 통합 테스트) Goals JPA를 사용하지 않았을 때의 불편함 JPA란? JPA를 사용하는 이유 JPA를 사용하지 않았을 때의 불편함 우리가 JDBC API를 사용하는 이유는 자바 애플리케이션이 관계형 데이터베이스(보통의 경우)로 데이터를 관리하기 위해 SQL을 전달해야 하기 때문이다. 그래서 개발자는 당연히 SQL문을 JDBC API의 도움을 받아 다루게 되고 이 과정에서 문제가 발생한다. 반복적인 로직 이전의 예제에서..
- Total
- Today
- Yesterday
- git branch
- 스프링 mvc
- 방명록 프로젝트
- Computer_Networking_A_Top-Down_Approach
- 스프링 테스트
- 운영체제 반효경
- 쉽게 배우는 운영체제
- Gradle
- 생활코딩 javascript
- 스프링
- git merge
- 김영환
- 선형 회귀
- 파이썬 for Beginner 솔루션
- 패킷 스위칭
- 프로그래머스
- 쉘 코드
- Spring Data JPA
- Spring
- 스프링 컨테이너
- 지옥에서 온 git
- Spring Boot
- Thymeleaf
- Python Cookbook
- JPA
- 파이썬 for Beginner 연습문제
- spring mvc
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- jsp
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |