| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 일정관리 프로젝트
- spring boot
- LV.02
- docker
- LV01
- 프로그래머스
- 코테
- Redis
- SQL
- mysql
- 포트폴리오
- 이것이 자바다
- CoffiesVol.02
- LV0
- LV02
- 데이터 베이스
- GIT
- JPA
- LV03
- Java
- 알고리즘
- 일정관리프로젝트
- 디자인 패턴
- CI/CD
- Kafka
- S3
- 연습문제
- LV1
- Join
- Lv.0
- Today
- Total
목록JPA (12)
코드 저장소.
목차1.Jpa ? 2.ORM ?3.Jpa의 장단점 1.Jpa?jpa는 Java Persistence API로 자바 진영의 ORM 기술 표준을 사용되는 인터페이스의 모음이다. 한마디로 말하자면 실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다. JPA를 구현한 대표적인 오픈소스로는 Hibernate가 있다. Jpa를 알기 전에 ORM에 대해서 알아보도록 하자.2.ORM ?ORM은 Object Relation Mapping으로 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 데이터를 변환하는 기술을 의미합니다. 즉, ORM은 데이터베이스 테이블을 객체로 매핑하고, 객체 간의 관계를 데이터베이스의 관계로 매핑하여 개발자가 SQL 쿼리를 직접 작성하지 않고도 객체를 ..
목차1. Mybatis는 무엇이고 기존의 장점 및 단점?2. JPA의 장단점 1. Mybatis는 무엇이고 기존의 장점 및 단점?Mybatis는 Java 언어를 사요하는 개발자들이 SQL 쿼리를 관리하고 데이터 베이스와 상호작용하는데도움을 주는 ORM프레임워크 중 하나입니다. 장점: 1. 접근이 쉽고 간결하다.(배우기가 쉽다) 2.SQL문과 프로그래밍 코드가 분리가 되어있어서 SQL문에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일을 하지 않아도 된다. 3.다양한 언어로 구현이 가능하다.(이식성이 뛰어나다) 단점: 1.스키마 변경시 SQL 퀴리를 직접 수정해야 한다. 2.반복된 퀴리가 발생하여 반복 작업이 있다. 3.쿼리를 직접 작성하기 때문에 데이터베이스에 종속된 쿼리문이 발생할 수 있다. 4.데이..
목차1.문제상황2.원인3.해결책 1.문제상황자유게시판에서 상세조회 페이지에서 이전글/다음글을 보여주는 기능을 만드는 중에서 repository에 만들어 놓은 쿼리에서 실행을 할 때 데이터 베이스 상에서 쿼리를 작성해서 실행을 하면 사진과 같이 정상적으로 작동이 되었지만 막상 실행을 하면 아래와 같은 에러가 발생.No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [com.example.coffies_vol_02.board.domain.dto.response.BoardNextPrevio..
목차1. 문제 발생.2. N+1 은 무엇인가?3. 왜 N+1이 발생하는 것인가?4. N+1 의 해결책 1. 문제 발생 프로젝트를 진행을 하면서 자유게시판에서 게시글을 조회하는데 게시글과 관련된 회원조회 및 좋아요의 쿼리가 불필요하게 나오는 상황이었고 이와 같은 문제를 해결하기 위해서 Jpa의 N+1 문제를 알게 되었고 이를 해결하고자 한다. 문제가 되는 쿼리는 이러하다. id: DESCdirection:DESCprop:idorderByExpression:board.idHibernate: select board0_.id as id1_0_, board0_.created_time as created_2_0_, board0_.updated_time as update..
목차1. 프로젝트 설명2. 프로젝트 목표3. 프로젝트 기술스택4.프로젝트 아키텍처5.프로젝트 ERD 1. 프로젝트 설명Coffies Vol.02는 제가 살고 있는 동네(강북구)에 있는 카페를 보여주고 카페의 위치와 댓글과 평점을 달아서 평점이 높은 가게를 보여주는 위치기반의 프로젝트이고 myBatis로 작성된 기존의 프로젝트를 JPA로 전환하고 추가적으로 기능을 고도화한 프로젝트입니다.2. 프로젝트 목표Mybatis에서 JPA로 컨버팅하기Redis를 다양한 방식으로 활용해 보기JUnit5,Mockito를 사용해서 테스트 코드를 작성성능 테스트 및 모니터링으로 프로젝트의 신뢰성을 높이기scale-out을 고려해서 서버 구축해보기github Actions를 사용해서 CI/CD구축하기깃 커밋 컨벤션에 따른 커..
게시판 만들기(블로그)목차1.만들게 된 이유2.개요3. 목표4.DB ERD5.프로젝트 아키텍처6.api 문서7.구현 및 트러블 슈팅내용8.회고 1.만들게 된 이유JPA를 배우게 되어서 공부하고 적용을 하기 위해서 간단하게 블로그를 만들어보고 추가적으로 새로운 기술을 적용하기 위해서 만들게 된 프로젝트입니다.2.개요프로젝트명: jpapractice개발 인원: 1인개발 기간: 2022.09.12~2023.08.20주요기능 게시판 - crud 기능, 페이징,검색, 조회수,파일 업로드/다운로드,게시글 좋아요, 해시태그, 실시간 알림사용자- 회원가입 , 로그인 및 로그아웃 , 회원 수정 ,회원 탈퇴, 아이디 중복처리, 회원 검색댓글 - 댓글 목록, 댓글 작성, 댓글 삭제관리자 - 게시글 관리, 댓글 관리, 방문..