학습 일지130 [JPA] 영속성 컨텍스트 영속성 컨텍스트JPA에서 가장 중요한 2가지객체와 관계형 데이터베이스 매핑하기(Object Relational Mapping)영속성 컨텍스트 엔티티 매니저 팩토리 & 엔티티 매니저엔티티 매니저 팩토리를 통해서 고객의 요청이 올 때마다 엔티티 매니저를 생성한다.엔티티 매니저는 DB Connection을 사용해서 DB를 사용하게 된다. 영속성 컨텍스트JPA를 이해하는데 가장 중요한 용어“엔티티를 영구 저장하는 환경”이라는 뜻EntityManager.persist(entity);persist() : DB에 저장하는 것이 아니라 영속성 컨텍스트를 통해서 엔티티를 영속화하는 것. 엔티티 매니저? 영속성 컨텍스트?영속성 컨텍스트는 눈에 보이지 않는 추상적이고 논리적인 개념이다.엔티티 매니저를 통해 영속성 컨텍스트에.. 2023. 4. 11. [JPA] 애플리케이션 개발 JPA JPA의 구동 방식 Persistence 클래스에서 META-INF/persistence.xml을 조회한다. 이때, META-INF/persistence.xml의 persistence-unit name과 EntityManagerFactory의 persistenceUnitName를 동일하게 매핑시켜야 한다. EntityManagerFactory를 생성한다. EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManagerFactory에서 필요할 때마다 EntityManager를 생성한다. EntityManager em = emf.createEntityManager(); 엔티티 생성 @Entity @Gett.. 2023. 4. 11. [Spring Boot + JPA] 웹 어플리케이션 개발 - 4. 웹 계층 개발 웹 계층 개발 웹 계층 개발 1. 홈화면과 레이아웃 2. 회원 등록 3. 회원 목록 조회 4. 상품 등록 5. 상품 목록 6. 상품 수정 7. 변경 감지와 병합(merge) 8. 상품 주문 9. 주문 목록 검색, 취소 📌 홈 화면과 레이아웃 홈 컨트롤러 등록 @Controller @Slf4j public class HomeController { @RequestMapping("/") public String home() { log.info("home controller"); return "home"; } } 📌 회원 등록 폼 객체를 사용해서 화면 계층과 서비스 계층을 명확하게 분리한다. 회원등록 폼 객체 @Getter @Setter public class MemberForm { @NotEmpty(messa.. 2023. 4. 7. [Spring Boot + JPA] 웹 어플리케이션 개발 - 3. 도메인 개발 회원 도메인 개발 구현 기능 회원 등록 회원 목록 조회 회원 리포지토리 개발 MemberRepository.java @Repository public class MemberRepository { @PersistenceContext private EntityManager em; // 스프링이 엔티티매니저를 만들어서 주입해준다. // 회원 정보 저장 public void save(Member member) { em.persist(member); } // 회원 조회 public Member findOne(Long id) { return em.find(Member.class, id); } // 회원 목록 조회 public List findAll() { return em.createQuery("select m f.. 2023. 4. 6. 이전 1 ··· 27 28 29 30 31 32 33 다음