일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코테공부
- JPA공부
- 기술공부
- Flutter
- querydsl
- JPA예제
- JPA스터디
- Axon framework
- 자바공부
- JPA
- 스프링공부
- nestjs공부
- 플러터 개발
- 자료구조공부
- nestjs
- 스프링부트
- 플러터 공부
- 알고리즘공부
- Kafka
- nestjs스터디
- 스프링 공부
- 스프링
- 기술면접공부
- 스프링부트공부
- JPA 공부
- K8S
- 카프카
- 코테준비
- DDD
- 프로그래머스
- Today
- Total
목록JPA 엔티티 (2)
DevBoi
엔티티의 생명주기는 4가지가 있다. 1. 비영속 - 영속성 컨텍스트와 전혀관계가 없는 상태 - 객체를 생성만 한 상태 2. 영속상태 - 영속성 컨텍스트에 저장된 상태 - 엔티티가 영속성 컨텍스트에 의해 관리되는 상태 3. 준영속 상태 - 영속성 컨텍스트에 저장되었다가 분리된 상태 - 영속성 컨텍스트에서 지운 상태 - 준영속 상태에서는 영속성 컨텍스트가 제공하는 기능을 사용하지 못한다.(Dirty Checking, Update Query) (이름 변경에 대한 Entity 데이터 변화를 감지한다. 1차 캐시의 snapshot이 다른것을 감지하면, update query 를 날린다.) 4. 삭제 상태 엔티티를 영속성 컨텍스트와 데이터베이스에서 삭제한 상태이다.
1. 객체, 테이블 매핑 @Entity @Entity,가 붙으면, JPA에서 관리를 하는 클래스, 객체가 된다. 대부분 디폴트로, 객체이름과 테이블이름은 동일하게 따라가지만, 이런식으로 Table name을 붙이면, 해당 테이블이름으로 생성 및 관리가 된다. 밑에는 재부팅 후에, 확인된 내용이다. 현재는 테이블이 없어서, 한번 create ddl이 나갔고, 그 이후에는 재 기동 에도 create ddl이 나가지 않는다. 이렇게, 되는이유는 바로 이렇게 설정을 했기 떄문이다. update, create 등등이 있는데, create 는 재기동 될때마다, 새롭게 생성된다. 기존에 테이블이 있으면 drop , create를 하고 update로 설정하게 되면 없는 대상들만, 혹은 신규 컬럼만 새롭게 update한..