BackEnd/JPA3 [JPA] 스프링 데이터 JPA 이야기 번외편 - 영속성 컨텍스트 이 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍 책을 읽고 복습 차원에서 적은 글입니다. JPA 이야기 2부 다음으로 JPA의 영속성 컨텍스트의 개념에 대해서 알아보자! 영속성 컨텍스트란? 우리말로 번역하기는 어렵지만 해석하자면 '엔티티를 영구 저장하는 환경'이라는 뜻이다. 아래의 'entityManager.persist(member);'는 단순히 저장한다고 표현했지만 정확히 이야기하면 엔티티 매니저를 사용해서 회원 엔티티를 영속성 컨텍스트에 저장한다. @Component @Transactional public class JpaRunner implements ApplicationRunner { @PersistenceContext EntityManager entityManager; @Overrid.. 2020. 10. 5. [JPA] 스프링 데이터 JPA 이야기 2부 - JPA 사용법 이 글은 백기선 님의 스프링 데이터 JPA 강의를 듣고 복습 차원에서 적은 글입니다. 이 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍 책을 읽고 복습 차원에서 적은 글입니다. 스프링 부트를 기반으로 환경설정을 했다. JPA는 엔티티와 테이블을 매핑하고 DB 스키마를 자동으로 생성한다. ddl_auto 옵션으로 로컬에서 편하게 스키마를 만들 수 있다. applicaton.properties spring.jpa.hibernate.ddl-auto=create spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true JpaRunner.class @Component @Transactional public class JpaRunner im.. 2020. 9. 23. [JPA] 스프링 데이터 JPA 이야기 1부 이 글은 백기선 님의 스프링 데이터 JPA 강의를 듣고 복습 차원에서 적은 글입니다. 이 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍 책을 읽고 복습 차원에서 적은 글입니다. JPA를 공부하기 전에 일단 기존의 SQL 직접 작성할 때의 문제점은 무엇일까? 반복적인 코드가 너무 많다. 게시판을 만든다고 가정했을 때 우리는 등록, 조회, 수정, 삭제를 만들어야 한다. 이러한 비슷한 작업을 지속적으로 해야 한다. SQL에 의존적인 개발을 해야 한다. 방금 위에서 만든 게시판에 칼럼 하나를 추가해야 한다면 우리는 등록, 조회, 수정, 삭제 SQL에 모두 반영을 해야 한다. SQL문법이 각 데이터베이스마다 다르다. 그래서 위의 문제점을 개선하기 위해서 관계형 데이터베이스 모델을 객체 모델 중심으로 바꾸려.. 2020. 9. 16. 이전 1 다음