일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다형성
- etf
- javascript
- 금리인하
- 주린이
- 배당성장
- StringBuffer
- 현금흐름표
- 잉여현금흐름
- 주식
- 접근제어자
- XLF
- 무디스
- 오버라이딩
- FCF
- 그리디 알고리즘
- 객체지향
- 백준
- 금리인상
- 알고리즘
- Java
- 자바
- mco
- 인플레이션
- S&P500
- 제태크
- object
- 기업분석
- 미국주식
- 프로그래머스
- Today
- Total
목록Spring/JPA (14)
오늘의하루
매핑의 소개 1. 객체와 테이블 매핑 : @Entity, @Table 2. 필드와 컬럼 매핑 : @Column 3. 기본 키 매핑 : @Id 4. 연관 관계 매핑 : @ManyToOne, @JoinColumn @Entity JPA가 관리할 수 있도록 지정해 주는 어노테이션이다. JPA를 사용해서 테이블과 매핑할 클래스는 필수로 작성해줘야 한다. 주의 사항 1. JPA를 사용해서 테이블과 매핑할 클래스는 기본 생성자가 필수로 존재해야한다. 2. 필드에 final 클래스, interface, inner클래스는 사용하지 말아야한다. 3. 저장할 필드에 final 사용을 하면 안된다. @Table 엔티티와 매핑할 테이블에 관련된 옵션을 지정할 수 있다. 1. name : 매핑할 테이블의 이름 지정 (기본값 : ..
JPA에서 flush 함수가 호출되면 쓰기 지연 SQL 저장소에 쌓여있는 쿼리가 DB 날아간다. 하지만 이때 마법같이 쌓여있던 쿼리가 한번의 요청으로 DB로 날아가지는 않는다. 만약 batch_size를 지정하지 않는다면 쌓여있는 개수만큼 DB와의 네트워크 통신을 하게 될 것이다. 하지만 batch_size를 지정한다면 쌓여있는 개수 중에 batch_size만큼 묶어서 쿼리를 날리기 때문에 한번의 네트워크 통신의 횟수를 줄일 수 있게 된다. 개인적인 생각으로 batch_size를 지정하지 않는다면 쓰기 지연 SQL 저장소를 사용되는 의미가 없어보인다.
EntityManagerFactory와 EntityManager EntityManagerFactory는 웹 애플리케이션에서 단 하나만 존재하며 EntityManager 객체를 생성할 수 있다. 영속성 컨텍스트 영속성 컨텍스트는 EntityManager를 통해서 접근이 가능하다. 처음 JPA를 접하는 경우 EntityManager와 PersistenceContext는 1:1 관계로 생각해야한다. Entity의 생명주기 1. 비영속 (new) : PersistenceContext와 전혀 관계없는 새로운 상태 Member member = new Member(); member.setId(1L); member.setName("JPA"); 2. 영속 (managed) : PersistenceContext에서 관리되..
JPA란? Java Persistence API의 줄임말이며 자바 ORM 기술 표준을 의미한다. ORM이란? Object-Relational-Mapping으로 객체 관계 매핑을 의미한다. 객체는 객체대로 관계형 DB는 관계형 DB대로 설계 ORM 프레임워크가 중간에서 매핑을 해준다. JPA를 사용하는 이유 1. SQL 중심적인 개발에서 객체 중심으로 개발이 가능하다. 2. 생산성이 높아진다. 3. 유지보수에 용이하다. 4. 패러다임의 불일치를 해결할 수 있다. 5. 성능 6. 데이터 접근 추상화와 벤더 독립성 JPA 설정 /META-INF/persistence.xml 파일을 만들어줘야한다. javax.persistence는 JPA 표준 속성을 의미한다. 이는 구현체(현재 hibernate)를 변경해도 그..