JPA
-
<Spring JPA> 1.5 영속성 컨텍스트JPA 2020. 4. 13. 09:56
JPA 에서 가장 중요한 두가지는 JPA 이용하려 얼마나 효과적으로 데이터베이스를 객체 매핑해서 사용할 것인가와 영속성 컨텍스트를 얼마나 잘 이해하고 있는가라고 할 수 있다. 엔티티매니저팩토리는 요청이 올때마다 엔티티 매니저를 생성하여 커넥션 풀에서 커넥션을 꺼내 사용하고 사라진다. 영속성이라는 개념은 엔티티를 영구 저장하는 환경이라고 보면 된다. 논리적인 개념이고 눈에 보이지 않는 장소이다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근할 수 있다. J2SE (Standard Edition, 일반 자바 프로그램 개발을 위한 용도로 이용되는 개발도구이며 각종 자료구조, 기본 유틸리티, 스윙이나 AWT와 같은 GUI도구등의 기본기능을 포함하고 있다) 에서는 엔티티 매니저와 영속성 컨텍스트가 1:1 J2EE..
-
<Spring JPA> 1.4 Hello JPA 애플리케이션 개발JPA 2020. 4. 9. 09:58
프로젝트 세팅이 끝났다면 간단하게 코드를 작성하여 JPA 동작을 확인할 수 있다. JPA 가 관리할 객체를 생성해주기 위해 클래스를 만든다. 일단은 디비 스키마와 동일하게 만들어주자. 클래스를 작성하고 클래스에 @Entity 어노테이션을 붙여주고, PK 값에 @Id 를 명시해주면 된다. EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); 쓱 생성해준다. input 파라미터는 persistence-unit 에 쓴 name 이다. JPA는 아래와 같이 동작한다. 설정 정보를 조회하여 EntityManagerFactory 를 생성해준다. 이 팩토리를 이용하여 EntityManager 를 생성한다. 주의할 점은 EntityMan..
-
<Spring JPA> 1.3 Hello JPA 프로젝트 생성JPA 2020. 4. 9. 09:57
본격적으로 JPA 프로젝트를 실습한다. 처음은 Spring 을 이용하는 것이 아닌 JPA 만 이용해봄으로써 JPA 가 하는 일에 대해 상세히 볼 수 있고, 스프링이 자동으로 관리해주는 것이 어떤 것인지 확인해보는지 목적을 둔다. 디비는 쉬운 확인과 적용을 위해 H2 데이터베이스를 이용한다. H2 디비가 가볍고 적용이 빠르기 때문에, 간단한 테스트를 위해서 이용하는 것은 아주 유용하다. 하지만 테스트로만 이용하는 디비라고만 기억하면 조금 곤란하고 장단점에 맞게 이용하자. 또한 빌드툴은 메이븐을 사용한다. 그래들을 사용할 수도 있다. 하지만 강의에서 메이븐을 사용하니까...메이븐으로 가자. 물론 대세는 요즘은 그래들이다. 메이븐 프로젝트를 생성한다. 인텔리제이 기준으로 생성하였고, 간단하게 메이븐 기본 프로..
-
<Spring JPA> 1.2 JPA 소개JPA 2020. 4. 7. 09:54
두번째 강의를 들었다. 매일 아침 20분 정도를 할애하기로 해서 과연 언제 다 할 수 있을까 라는 생각이 들어서 ... 궁금한 건 일단 찾아봐야겠다고 생각해서 로드맵을 보았다. 일단 커리큘럼은 이러하다. 1. 자바 ORM 표준 JPA 프로그래밍 - 기본편 (54강) 2. 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 (35강) 3. 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 (23강) 4. 실전! 스프링 데이터 JPA (32강) 5. 실전! Querydsl (41강) 보통 한 강의가 20분이니까, 하루 한강의 기준으로 보면 54+35+23+32+41 = 185 가 나온다. 평일 기준으로 월~금이면 일주일에 5번, 185 나누기 5 면 37주. 1년이 52주니까 대충...
-
<Spring JPA> 1.1 SQL 중심적인 개발의 문제점JPA 2020. 4. 6. 10:59
인프런을 통해 강의를 신청했다. 스프링 JPA 에 관한 글을 써보고 싶은데 관련 지식의 부족으로 방법을 고민하던 중, 강의를 들으면서 글을 먼저 써보자고 생각했다. 어떻게 보면 그냥 강의 정리노트에 불과할 수도 있지만, 최대한 내 생각까지 합친 글을 써봐야겠다. 일단은 글 제목은 강의 소제목들과 동일하게 하자. 나중에 검색도 편리할 것 같다. 1.1. SQL 중심적인 개발의 문제점 강사님은 우형에서 일하고 계시는 김영한님이다. 기존에 봤던 영상과 조금은 다르게 세련된 모습으로 나오셔서 놀랐다. 목소리 톤도 그동안 봤던 영상보다 약간 하이톤이었다. 뭔가... 자본적으로...(말을 아끼자) 첫번째 주제는 SQL 중심적인 개발의 문제점이다. JPA 가 무엇인지 언급하기 이전에 무엇이 불편했는지 왜 새로운 무언..