GitHub

https://github.com/Choidongjun0830

2024/06/14 2

[JPA 기본편] JPA 기초

JPA 구동 방식JPA는 Persistence라는 클래스가 있다.Persistence에서 시작해서 설정 정보를 조회하여 EntityManagerFactory라는 클래스를 만든다.EntityManagerFactory는 애플리케이션 전체에서 공유필요할 때마다 EntityManager를 찍어내서 사용한다. EntityManager는 쓰레드 간에 공유를 하지 않음. (사용하고 버려야 함)EntityManagerFactory는 애플리케이션 로딩 시점에 딱 하나만 만들어야 한다.실제 DB에 저장하는 트랜잭션 단위(DB커넥션을 얻어서 쿼리를 날리고 종료)는 EntityManager를 만들어줘야 한다.JPA에서는 트랜잭션 단위가 매우 중요하다. 모든 작업은 트랜잭션 안에서 작업을 해야 한다.  코드 예제Member 객..

Spring 2024.06.14

[JPA 기본편] SQL 중심적인 개발의 문제 + JPA 소개

SQL 중심적인 개발의 문제지금 시대는 객체를 관계형 DB에 관리CRUD, ... 무한 반복, 지루한 코드. 계속 쿼리를 작성해야객체에는 상속 관계가 있지만, 데이터베이스에는 상속 관계가 없음.슈퍼 타입, 서브 타입으로 설계해야함.조회 시에도 조인해서 해야함. => 객체를 테이블에 맞춰서 설계해야함. ORM (Object - relational mapping, 객체 관계 매핑)객체는 객체대로 설계관계형 데이터 베이스는 관계형 데이터베이스 대로 설계ORM 프레임워크가 중간에서 매핑JPA를 왜 사용해야 하는가SQL 중심적인 개발에서 객체 중심으로 개발생산성유지보수패러다임의 불일치 해결성능데이터 접근 추상화와 벤더 독립성표준 저장: jpa.persist(member)조회: Member member = jpa...

Spring 2024.06.14
728x90