일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바 스터디
- 유학생 준비물
- 해외유학
- JVM아키텍처
- California State University Sacramento
- 케네스로그
- 케네스
- 미국유학생
- 부산외대
- 개발일지
- jpa
- 복수학위제도
- 2+2
- 파이데이아창의인재학과
- 만다라트프로젝트
- CSUS
- 비전공자 git
- 개인 프로젝트 개발일지
- 사이드프로젝트
- 미국대학생활
- 자바
- i-20
- 미국유학생활
- 미국유학
- F1학생비자
- java
- 유학생대학생활
- 미국대학
- Kenneth Park
- Java 스터디
- Today
- Total
목록jpa (3)
케네스로그
자바의 객체, DB테이블의 각 연관관계는 어떻게 다른가? 또, JPA는 어떻게 이런 불일치를 조율해주나? ORM기술은 DB의 테이블 중심 패러다임과 Java의 객체지향 패러다임의 불일치를 해결하기 위해 소개되었다. 인프런의 김영한님의 강의를 들으며 JPA를 접하고 프로젝트를 진행하였지만, 각 연관관계와 그 설정이 실제 코드에 어떻게 반영되는지, 테이블 구조가 어떻게 적용되는지 궁금하여 이번 기회에 직접 코드를 작성하고 DB 상태를 확인해보았다. 연관관계 ORM기술은 객체와 테이블 중심의 각기 다른 패러다임에서 발생하는 문제를 해결하기 위해 등장했으며, 이를 통해 개발자는 서비스 로직을 짜면서 객체에 온전히 집중하여 개발할 수 있게 되고, DB의 테이블에 대한 고민을 최소화 할 수 있다. 서로 다른 패러다..
JPA N+1, 불필요한 쿼리를 줄여보자 이전 포스팅에서 트랜잭션을 고려한 리팩토링을 통해 불필요한 쿼리를 줄이는 작업을 진행했다. 모든 controller - service layer에서 예제 코드처럼 작성되었던 것은 아니었지만 몇몇 케이스가 존재했기에 개선작업을 수행했다. 그럼 이제 모두 끝난 것인가?🤔 어림도 없다. 개선작업에는 끝이없다. 이번에 풀어볼 N+1문제 이외에도 캐싱을 사용한다거나 아키텍쳐 레벨에서도 개선이 진행가능할 것으로 보인다. 차차 해결하는 것으로 하고, 이번 포스팅에서는 엔티티 간의 관계에 따른 추가 쿼리가 발생하는 N+1이슈를 분석하고 개선하도록 하자. 프로젝트의 엔티티 관계 우리 팀에서 기획/개발했던 프로젝트는 간단한 형식의 회원제 게시판이다. 이 글에서는 기술적으로 분석하고..
SQL 중심 개발의 문제점 SQL에 의존적인 개발 객체를 관계형 데이터베이스에 저장하여 관리하게 된다. 여기서 발생하는 문제는 직접적으로 데이터를 저장하기 위해 SQL을 통해 작업하게 된다. 이 과정에서 반복적인 작업을 해야하는 불편함이 발생한다. 또한, 객체를 SQL로, SQL로 받아와서 객체로 전환하는 패러다임 일치 작업이 요구되어 진다. public class Member { private String memberId; private String name; private String tel; } INSERT INTO MEMBER(MEMBER_ID, NAME, TEL) Values SELECT MEMBER_ID, NAME, TEL FROM MEMBER M UPDATE MEMBER SET .. TEL ..