| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- BFS
- IT
- 네트워크
- Android
- 익명객체
- 멀티스레드
- 자바
- 다이나믹 프로그래밍
- Java
- CKLU
- 프로그래머스
- 재귀함수
- 백준 알고리즘
- 모바일
- 알고리즘
- 안드로이드
- 금융IT
- 너비탐색
- 삼성SW테스트
- 조합
- 백준
- 데이터베이스
- dp
- 익명클래스
- 현대오토에버 코딩테스트
- backjoon
- 언더라이터
- 삼성sw문제
- dfs
- 개발
- Today
- Total
목록2023/08 (3)
Limky 삽질블로그
엔티티 매니저 팩토리와 엔티티 매니저! JPA가 제공하는 기능은 크게 2가지이다. 엔티티와 테이블을 매핑하는 설계 부분 매핑한 엔티티를 실제로 사용하는 부분 이번 장에서는 매핑한 엔티티를 엔티티 매니저를 통해 어떻게 사용하는지 알아보자. 엔티티 매니저가 하는 일 엔티티를 저장,수정,삭제,조회 등 엔티티 관련된 모든 일을 처리 개발자 입장에서 엔티티 매니저는 엔티티를 저장하는 가상의 데이터베이스로 생각하면 됨 엔티티 매니저 팩토리 생성 코드 공장생성 비용이 상당히 큼(따라서 어플리케이션 전체에서 한 개만 만들고 공유하는 전략을 취함) EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook"); 공장에서 엔티티 매니저를 생성, 비..
회원 테이블 생성 CREATE TABLE MEMBER ( ID LONG AUTO_INCREMENT NOT NULL, -- 아이디(기본키) NAME VARCHAR(255), -- 이름 AGE INTEGER NOT NULL, -- 나이 PRIMARY KEY (ID) ) 회원 클래스 생성 import javax.persistence.*; @Entity @Table(name="MEMBER") public class Member { @Id @Column(name = "ID") private Long id; @Column(name = "NAME") private String username; private Integer age; public Long getId() { return id; } public void s..
JPA를 사용하지 않으면 생기는 문제점 (=SQL을 직접 다룰 때 발생하는 문제점) 객체지향과 데이터 중심의 데이터베이스 설계간 패러다임 불일치로 인해 개발자가 직접 객체의 필드값을 데이터 중심의 데이터베이스 구조에 맞게 로직을 짜야하고, CRUD(생성,조회,수정,삭제) 쿼리를 짜야한다. (반복적이고 지루한 일...) SQL에 의존적인 개발 (=물리적으론 엔티티와 데이터베이스를 분리했어도, 논리적으론 강한 의존관계를 가지고 있음) 등록,조회,수정 코드가 변경되거나, 연관 객체끼리 참조하는 경우 코드레벨에서 우리가 원하는 객체, 그리고 데이터 값을 보장받을 수 없기 때문에 결국엔 SQL를 까봐야 한다.. 상속 관계인 객체들을 저장하거나 조회하는 경우 원하는 타입만 따로 따로 조회하기 어렵고, 저장 또한 어..