일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 플러터 공부
- querydsl
- 기술면접공부
- 코테공부
- 플러터 개발
- Kafka
- nestjs
- JPA공부
- 기술공부
- 스프링공부
- 스프링부트
- Axon framework
- 스프링부트공부
- 스프링 공부
- 카프카
- JPA스터디
- JPA
- nestjs공부
- K8S
- JPA예제
- DDD
- 알고리즘공부
- Flutter
- 자바공부
- 코테준비
- 프로그래머스
- 자료구조공부
- nestjs스터디
- 스프링
- JPA 공부
- Today
- Total
목록JPA 스터디 (3)
DevBoi
상태 필드 : 단순히 값을 저장하기 위한 필드 연관 필드 : 연관관계를 나타내기 위한 필드 -단일값 연관 필드 : many to One이나 one to one 처럼 연관 관계가 엔티티 하나일때 -컬렉션 값 연관 필드 : 엔티티 하위에 컬렉션 으로 가지고있는 데이터 상태 필드 -> 경로 탐색의 끝 , 더이상 탐색하지 않는다 연관 필드 -> member 하위에 team이 있는 경우, team을 select하면, 묵시적인 inner join이 발생한다. team 하위의 값을 탐색하고 싶으면 m.team.teamName 이런식으로 작성하면되고, 이런식으로 select하면 join이 발생하는 것을 묵시적 내부 조인이라고 표현한다 컬렉션 연관관계 경로도, 묵시적 내부조인이 발생하지만, 하위 내용을 조회할수는없다..
만약에 공통된 컬럼을 공통된 테이블에 다 쓴다? 예를 들어 수정,생성 시간에 대한 모든 값을 테이블 마다 필요하다라는 조건이 생겼다고 가정하자 요런 BaseEntity를 공통으로 가진다고 한다면, 요로케 category나, 슈퍼클래스에 대한 상속을 받으면 된다. 그렇게 되면 category에 대한 테이블은 아래와 같이 설계가 된다. 이렇게 슈퍼클래스에 대한 값도 테이블에 가지고 있게 된다. 참고로 Entity 클래스는 같은 Entity 나, mappedbySuperClass에 대한 것만 상속이 가능하니 참고해야한다.
JPA 는 개발자가 SQL을 쓰지 않고, 개발을 할수 있게 해준다. 즉, 객체에 SET,GET을 하는 것으로 SELECT, INSERT 작업을 할수 있게해준다. JPA는, Learning curve가 심해서, 자세히 모르고, 실무에 도입하게 되면 망한당 우선 SQL중심적인 개발이, 현재 중요한 키워드이다. CRUD를 짜고, SQL을 짜고.... 애플리케이션 개발이... 객체 지향인데 SQL에 목을 메게된다. SQL 개발의 문제는..? 1. 필드추가할때 한개의 필드가 추가되면, 전체 SQL이 도는 곳에 전체 필드를 추가해줘야한다. 즉 SQL 의존적 개발을 하게된다. 2. 패러다임의 불일치 객체 지향 프로그래밍은 추상화, 캡슐화, 정보은닉, 상속, 다형성등 많은 걸 지원해준다. 객체와 관계형 데이터 베이스의..