일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Data structure
- OS
- 완전탐색
- nosql
- 백준
- BFS
- Dijkstra
- db
- CSS
- HTML
- CS
- jpa
- redis
- DFS
- 아키텍처
- 알고리즘
- 데이터베이스
- 프로그래머스
- 영속성 컨텍스트
- PYTHON
- javascript
- Algorithm
- 레디스
- deque
- 캐싱
- 운영체제
- It
- java
- 플로이드-워셜 알고리즘
- 자료구조
- Today
- Total
목록jpa (3)
If at first you don't succeed, try again
* 영속성 컨텍스트란?엔티티를 영구 저장하는 환경이라는 뜻이다. 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다.em.persist(member);persist() 메서드는 엔티티 매니저를 사용해서 회원 엔티티를 영속성 컨텍스트에 저장한다. * 엔티티의 생명주기- 비영속(new / transient) : 영속성 컨텍스트와 전혀 관계가 없는 상태 - 영속(managed) : 영속성 컨텍스트에 저장된 상태- 준영속(detached) : 영속성 컨텍스트에 저장되었다가 분리된 상태- 삭제(removed) : 삭제된 상태 * 비영속// 객체를 생성한 상태(비영속)Member member = new Member();member.setId("member1");..

* Entity Manager란?Entity Manager는 내부적으로 영속성 컨텍스트를 유지하며, 현재 관리 중인 엔티티 객체들을 캐싱하고 관리한다. * Entity Manager 생성 과정 1. 엔티티 매니저 팩토리 생성JPA를 시작하기 위해 persistence.xml의 설정 정보를 사용해서 엔티티 매니저 팩토리를 생성해야 한다.EntityManagerFactory emf = Persistence.createEntityManagerFactory("test");엔티티 매니저 팩토리를 생성할 때, JPA 구현체에 따라서 데이터베이스 커넥션 풀도 생성할 수 있으므로 비용이 크다. 따라서 엔티티 매니지 팩토리는 애플리케이션 전체에서 딱 한번만 생성하고 공유해서 사용해야 한다. 2. 엔티티 매니저 생성Ent..

* JPA란?JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준이다. JPA는 애플리케이션과 JDBC 사이에서 동작한다. * ORM이란?ORM(Object-Relational Mapping)은 객체와 데이터베이스를 매핑한다는 뜻이다. ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 개발자 대신 해결해준다. * MyBatis vs JPA특징MyBatisJPA방식SQL 기반 매핑객체 중심 매핑 (ORM)쿼리 작성 방식직접 SQL 작성 (XML 또는 Annotation)JPQL, Criteria API, Native SQL성능SQL 튜닝 가능 (최적화 용이)캐싱, 지연 로딩 지원 (대량 데이터 처리 유리)복잡한 쿼리복잡한 JOIN, 서브쿼리 최적화 가능복잡한 쿼..