Backend/JPA8 [JPA] OneToOne 연관관계 (mappedby / fetchType) 매일같이 사용해도 매일같이 헷갈리는 연관관계를 다시 정리해봤다. OneToOne 연관관계는 오직 서로가 하나뿐인 1:1 관계를 말하고 이 둘은 FK로 연결되어 있다. OneToOne 연관관계의 특징을 알아보기 위해 엔티티를 만들어줬다. 하나는 Student 엔티티이고 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 29 30 31 32 33 34 35 36 import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import javax.persistence.Entity; impor.. 2022. 10. 14. [JPA] Entity 생성일시 수정일시 자동 입력 방법 2가지 (@CreatedDate vs @CreationTimestamp) 객체를 새로 생성해 DB에 저장할때 객체가 생성된 생성일시나 객체가 수정된 수정일시를 같이 넣어주는 경우가 왕왕 있다. 이럴때 LocalDate.now( ) 로 넣곤했는데 그럴 필요 없이 자동으로 생성해서 넣어주는 방법이 있다. 간단한 코드로 비교해보자 강의 엔티티를 하나 만들었다. Course 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 29 30 31 32 33 34 35 36 37 38 39 40 import javax.persistence.Entity; import javax.persistence.EntityListeners; import javax.persistence.GeneratedValue; impor.. 2022. 10. 4. [JPA] 영속성 관리 (Entity Manager / Persistence Context / 엔티티 생명주기) JPA에서 가장 중요한 개념 중 하나인 Persistence Context와 EntityManager에 대해 정리해보겠다. JPA에 대해 다시 설명해본다면 ORM 기술 표준이다. ORM은 객체와 관계형 데이터베이스를 매핑하는 것을 말한다. 즉 JPA는 자바 객체와 RDB의 테이블 엔티티를 매핑해 준다고 보면 된다. JPA의 EntityManager가 각 엔티티를 Persistence Context(영속성 컨텍스트)로 관리한다. Persistence Context 영속성 컨텍스트는 엔티티를 영구 저장하는 환경으로 스프링 컨테이너에 등록된 bean을 찾아서 주입해 주는 역할을 한다. 이는 각 엔티티를 식별자 값으로 구분한다. 그래서 우리가 엔티티를 생성할때 무조건 id를 부여해주는 이유이기도 하다 엔티티에는.. 2022. 9. 29. [JPA] JAVA ORM JPA (JPA개념 / JPA 입문 / 스프링부트 / JPA 책 추천 ) 스프링 부트를 공부하며 떼놓을 수 없는 기술인 JPA (Java Persistence Api) 나는 공부를 하며 이 JPA 때문에 많이 힘들었다. 대체 왜 필요한것이고 왜 쓰는 것일까? 일단 JPA는 인터페이스다. 이 JPA를 쓰기 위해선 구현체가 필요한데 이 대표적인 프레임워크로 Hibernate 하이버네이트가 있다. 그래서 이게 다 뭘 의미할까? 웹개발을 할때 많이들 객체지향 언어(Java / kotlin) + 관계형 데이터베이스 (MySQL / Oracle) 조합으로 한다. 이전 실습때 java 기반의 Spring + Mybatis 로 CRUD 게시판 구현을 했다. 2021.04.18 - [IT 독학/WEB] - [Spring _MVC ①] CRUD 게시판 구현 개발환경 설정 (STS / MVC 패.. 2021. 7. 25. 이전 1 2 다음