일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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기
- 자바 알고리즘
- ssafy
- 백준
- 코딩테스트 자바
- 인프런
- 싸피셜
- 싸피 11기
- 리액트
- 코드트리
- swea
- 알고리즘
- 코딩테스트
- 개발자
- 자바스크립트 자료구조
- 프로그래머스
- 싸피 12기
- jpa
- 싸피 대전캠퍼스
- 자바 코딩테스트
- 자료구조
- 싸피11기
- 싸피 기자단
- 자바스크립트
- SSAFYcial
- 싸피10기
- 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의 모든 데이터 변경은 트랜잭션 안에서 실행해야 한다. (매우 중요!)