목록JPA (15)
Rootable의 개발일기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bvo3EE/btsqZb3vkBZ/XX6EWsbeRFc6SXzkOljYFK/img.png)
📌 영속성 컨텍스트(Persistence Context)란 엔티티를 영구 저장하는 환경으로 EntityManager를 통해 접근할 수 있다. 일반적으로 JPA에서는 persist 함수를 통해 해당 엔티티를 영속화(영속성 컨텍스트에 저장)한다. EntityManger.persist(entity); //entity를 영속화 💡 Spring Data JPA의 영속화 Spring Data JPA에서는 Repository를 상속받은 JpaRepository라는 인터페이스를 제공한다. Repository 인터페이스를 정의하면 해당 Entity의 데이터를 사용할 수 있는데, 이것은 내부적으로 EntityManger 가 직접 대상 Entity의 데이터를 관리하기 때문이다. 그리고 Spring Data JPA에서 Rep..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zwGMi/btsqYQcX0my/q30KitxoBwNe3yv7Bkbwq1/img.png)
📌 ORM(Object-relational mapping) 기술 객체는 객체대로 관계형 DB는 관계형 DB대로 설계하고, ORM 프레임워크가 중간에서 매핑해 주는 식으로 동작하는 객체와 관계형 DB를 매핑해 주는 기술이다. JPA는 애플리케이션과 JDBC 사이에서 동작하며, 객체를 다루듯이 DB 리소스를 다룰 수 있도록 한다. 🔎 예제 JPA에서 하나의 테이블을 Entity 객체라고 하며, 아래와 같이 자바 코드를 통해 하나의 테이블을 설계할 수 있다. @Entity @Data public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; @Column(name = "USERNAME") private String..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/x4tg9/btsqXVExENx/naiW6R82K2MKWFaKKWBdj0/img.png)
📌 SQL 중심적인 개발의 문제점 반복적인 SQL 작성DBMS에 종속적객체와 관계형 DB의 패러다임 불일치 📌 객체 vs 관계형 DB 패러다임 불일치> 🔎 상속 관계형 DB는 위와 같은 상속 관계에 있을 때 데이터 저장과 조회가 다음과 같다. //저장INSERT INTO ITEM ...INSERT INTO ALBUM ... # 조회- 각각의 테이블에 따른 조인 SQL- 상속 관계이므로 부모 객체를 통해 조회- 각각의 객체 생성... 이처럼 저장과 조회 때마다 부모와 자식은 한 몸처럼 따라다니기 때문에 관계형 DB에서는 상속 관계를 사용하지 않는다. 반면, 자바에서는 컬렉션 객체를 사용하여 다형성을 활용하면 부모 타입으로 쉽게 조회 가능하다. list.add(album); //저장Item item ..