일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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기
- 싸피10기
- 싸피 대전캠퍼스
- ssafy
- 알고리즘 자바
- 자바스크립트 자료구조
- 자료구조
- 싸피11기
- jpa
- 백준
- 코딩테스트
- 자바 알고리즘
- 알고리즘
- SSAFYcial
- 싸피셜
- 코드트리
- 인프런
- 싸피
- 코딩테스트 자바
- swea
- 개발자
- 비동기
- 리액트
- 프론트엔드
- 싸피 12기
- 싸피 11기
- 프로그래머스
- 싸피 기자단
- 자바 코딩테스트
- 자바스크립트
- Today
- Total
목록백엔드 (2)
병아리의 코딩 일기
저번 시간에는 영속성 컨텍스트란 무엇인지에 대해 알아보았다. 이번엔 '영속성 컨텍스트가 가진 이점'에 대해 알아보자! 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 구동 방식에 대해 알아보자. 1. JPA는 Persistence 라는 클래스로부터 시작한다. 2. 여기서 META-INF/persistence.xml 에 우리가 설정한 설정 정보를 읽어서 3. EntityManagerFactory 라는 클래스를 만든다. 4. 이 공장에서 뭔가 필요할 때마다 EntityManager 라는 걸 찍어내서 돌리면 된다. 위의 내용을 코드로 확인해보자. 주의!! 1. 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에서 공유된다. 2. 엔티티 매니저는 쓰레드 간에 공유하지 않는다. (사용하고 버려야 한다.) 3. JPA의 모든 데이터 변경은 트랜잭션 안에서 실행해야 한다. (매우 중요!)