일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DBASE&
- 개발자 면접 준비
- 이분탐색
- ansi sql 단점
- 면접 필수 질문
- 백트래킹
- 백준
- JPA
- 프로그래머스 이중우선순위큐 자바
- 이중우선순위큐 java
- CJ DBASE&
- IT 면접 준비
- ansi sql 장점
- Gradle
- 위상정렬
- 디베이스앤
- 디베이스앤 인턴 후기
- DP
- 프로그래머스
- SQL
- 프로그래머스 이중우선순위큐 java
- Java
- Spring Boot
- DFS
- 이중우선순위큐 자바
- 그리디
- 프로그래머스 이중우선순위큐
- oracle ansi sql
- BFS
- oracle ansi
- Today
- Total
목록JPA (2)
쉬운 프로그래밍
아래는 서비스 코드이다. 1. 더티체킹 위의 메소드는 update 기능을 수행하고 있지만 DB에 쿼리를 날리는 부분이 존재하지 않는다. 이것이 가능한 이유는 JPA의 영속성 컨텍스트 때문이다. 영속성 컨텍스트는 엔티티를 영구 저장하는 환경으로 생각하면 된다. JPA는 엔티티가 영속성 컨텍스트에 포함되어있는지, 아닌지를 중시한다. 엔티티 매니저가 활성화된 상태로 트랜잭션 안에서 DB를 통해 데이터를 가져오면 이 데이터는 영속성 컨텍스트가 유지된 상태이다. 즉 이 상태에서 해당 데이터의 값을 변경하면 트랜잭션이 끝나는 시점에 해당 테이블에 변경사항을 반영한다. 요약해서 말하면 Entity 객체의 값만 변경하면 별도로 Update 쿼리를 날릴 필요가 없다는 것이다. 이 개념을 더티 체킹(Dirty Checki..
Cascade란? cascade는 @ManyToOne이나 @OneToMany에 들어갈 수 있는 옵션이다. 트랜잭션이 일어날 때 Entity 변화를 연관관계를 가진 Entity에 전파시키는 것을 목적으로 한다. Entity 상태란? 1. Transient : JPA가 알지 못하는 상태를 의미한다. 즉 객체를 생성하거나 변경하여도 JPA가 그 객체를 인지하지 못하고 있는 상태를 의미한다. 2. Persistent : JPA가 관리중인 상태를 의미한다. Persistent 상태가 되더라도 바로 Insert가 발생해서 데이터베이스에 저장하는 것이 아닌, Persistent에서 관리하고 있던 객체가 데이터베이스에 넣는 시점에 데이터를 저장함 (1차 캐싱, Dirty Checking, Write Behind 등 기..