일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코드트리
- 프로그래머스
- 리액트
- 프론트엔드
- 싸피 대전캠퍼스
- 자료구조
- 싸피 기자단
- 자바스크립트 자료구조
- 싸피 10기
- 개발자
- swea
- jpa
- 싸피셜
- 알고리즘 자바
- 코딩테스트
- 비동기
- 코딩테스트 자바
- 싸피11기
- 백준
- 알고리즘
- 싸피
- 싸피 12기
- 싸피10기
- 자바스크립트
- ssafy
- 자바 알고리즘
- SSAFYcial
- 인프런
- 자바 코딩테스트
- 싸피 11기
- Today
- Total
목록jpa (4)
병아리의 코딩 일기
이번 시간엔 지금까지 배운 매핑을 바탕으로 조금 더 복잡한 예제를 만들어보자. 간단한 쇼핑몰 예제다. 요구사항 분석 회원은 상품을 주문할 수 있다. 주문 시 여러 종류의 상품을 선택할 수 있다. 기능 목록 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문내역 조회 주문 취소 Member Entity @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String name; private String city; private String street; private String zipcode; //getter, set..
저번 시간에는 영속성 컨텍스트란 무엇인지에 대해 알아보았다. 이번엔 '영속성 컨텍스트가 가진 이점'에 대해 알아보자! 1. 1차 캐시에서 조회한다. Member member = new Member(); member.setId("member1"); member.setName("회원1"); //1차 캐시에 저장됨 em.persist(member); //1차 캐시에서 조회 Member findMember = em.find(Member.class, "member1"); 멤버 객체를 만들고 영속성 컨텍스트에 담으면 @Id : "membrer1"를 Key , Entity : Member 를 값으로 하는 1차 캐시가 생성된다. 그래서 findMember를 할 때 1차 캐시에서 조회한다. 즉, 실행해보면 select ..
JPA에서 가장 중요한 2가지 1. 객체와 관계형 데이터베이스 매핑하기(ORM = Object Relational Mapping) 2. 영속성 컨텍스트 영속성 컨텍스트란? JPA를 이해하는데 가장 중요한 용어 "엔티티를 영구 저장하는 환경" EntityManager.persist(entity); -> 사실 db에 저장한다는 것이 아니라 엔티티를 영속성 컨텍스트라는 곳에 저장한다는 것! 엔티티 매니저? 영속성 컨텍스트? 영속성 컨텍스트는 논리적인 개념이다. 눈에 보이지 않는다. 엔티티 매니저를 통해 영속성 컨텍스트에 접근한다. EntityManager 를 실행하면 PersistenceContext 가 생성이 된다. 엔티티의 생명주기 엔티티는 생명주기가 4가지 있다. 비영속 : 최초에 entity를 생성한 ..
이번 시간에는 JPA 구동 방식에 대해 알아보자. 1. JPA는 Persistence 라는 클래스로부터 시작한다. 2. 여기서 META-INF/persistence.xml 에 우리가 설정한 설정 정보를 읽어서 3. EntityManagerFactory 라는 클래스를 만든다. 4. 이 공장에서 뭔가 필요할 때마다 EntityManager 라는 걸 찍어내서 돌리면 된다. 위의 내용을 코드로 확인해보자. 주의!! 1. 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에서 공유된다. 2. 엔티티 매니저는 쓰레드 간에 공유하지 않는다. (사용하고 버려야 한다.) 3. JPA의 모든 데이터 변경은 트랜잭션 안에서 실행해야 한다. (매우 중요!)