전체 글 142

[Spring Data JPA] Spring Data JPA의 구조와 흐름

Spring JPA로 프로젝트를 진행하면서 여러 자료를 참고하면서 기능을 만들고 있었지만, 어떤 흐름으로 기능이 동작하는지 확실히 알아두고 싶어서 간단하게 정리해보기로 한다. Spring Data JPA란? Spring Data JPA는 Spring 프레임워크에서 Java Persistence API (JPA)를 지원하는 기술이다. JPA는 자바 개발자들이 관계형 데이터베이스를 사용하는 애플리케이션을 개발하기 위한 표준 스펙이며, Spring Data JPA는 이를 더 편리하게 사용할 수 있도록 Spring의 기능과 통합한 것이다. Spring Data JPA의 구조 엔티티 클래스(Entity Class) JPA는 객체와 데이터베이스 간의 매핑을 위해 엔티티 클래스를 사용한다. 엔티티 클래스는 데이터베이..

Study/spring 2023.06.29

[Spring] No identifier specified for entity 에러

프로젝트 중 코멘트 뷰의 모양이 잘 나왔는지 서버를 켰는데 해당 에러가 발생했다. Spring문자도 뜨고 잘 실행되는 듯 하였으나 에러가 떴다. 어떤 문제인지, 왜 나는 것인지 확인해보았다. import org.springframework.data.annotation.Id; Entity 코드에 import를 이렇게 해놓아서 난 에러였다... 해결 방법은 import javax.persistence.Id; 이렇게 import를 바꿔주면 된다. : )

Study/spring 2023.06.27

[Git] Stash, Stash pop 사용하기

열심히 코드를 짜다가 슬슬 커밋을 하려던 때.... 어 git bash를 안켰었네 나는 다른 브랜치에서 작업중이었는데, 여기서 바로 Git pull origin main 을 해버리면 지금까지 썼던 것들이 그냥 날아가버린다.... 이럴 때 사용할 수 있는 것이 Stash 명령어이다. Stash를 사용하면 현재 진행중이던 내용들을 언제든지 저장해두고 다른 브랜치로 이동하여 작업한 뒤에 다시 돌아와 복구하여 작업을 계속할 수 있다. 나같은 경우가 아니더라도 A브랜치에서 작업하던 도중 급한 수정사항 등이 생겨 B브랜치로 옮겨가거나 할 때 사용하면 좋을 것이다. 그럼 사용법을 알아보자. 먼저 로컬저장소로 이동한다. (cd 경로 or 저장소 폴더에서 우클릭- git bash here 클릭) git stash 이 명..

[JPA] Error: 1364: Field 'id' doesn't have a default value 오류 해결

프로젝트를 진행하며 테스트코드를 작성하고 실행했는데 해당 에러가 발생했다. 열심히 찾아보니 자바 entity와 DB의 table이 일치하지 않아서 발생하는 문제라고 한다. @GeneratedValue(strategy = GenerationType.IDENTITY) 나는 id를 자동으로 생성하는 전략을 사용했고, spring.jpa.hibernate.ddl-auto=update ddl은 update로 작성해서 당연히 DB에도 반영될거라고 생각했지만...반영되지 않았다. 그래서 결론 : 직접 Auto Increment를 체크해주니 테스트가 잘 진행되었다.

Study/spring 2023.06.20

[Git] Git Bash 브랜치 사용법 + pr(Pull Request)하기

이번 프로젝트에서는 기능별로 브랜치를 분리해서 푸시할 예정이기 때문에 브랜치에 대해서도 공부한다. 기본적인 회원이 있는 게시판 create sql문을 만들었는데, sql브랜치를 생성해서 그쪽으로 푸시할 예정이다. 가보자고~~ 브랜치란? 브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념이다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있다. 기본 branch는 main이고 다른 branch를 이용해 개발을 진행하고 병합하면 된다. 브랜치 기능을 사용하여 main 브랜치만을 관리하는 것이 아닌 여러가지 브랜치를 생성하여 다양한 방향으로 버전관리가 가능하다. 브랜치 생성 및 이동 먼저 내가 지금 어느 브랜치에 있는지 확인해보자. git bra..

[Git] Git Bash 사용법

이전 프로젝트를 진행할 때는 인텔리제이에서 git을 연동해 푸시하는 방식을 사용했었다. 이번에는 깃의 명령어를 더 잘 익히고자 Git Bash를 사용하기로 했다. 먼저 Git Bash를 사용해서 유저 정보 설정, 커밋, 푸시하는 방법을 올려본다. git bash를 실행한 첫 화면이다. 유저 정보 등록 유저 이름과 메일주소를 설정한다. git config --global user.name [유저이름] git config --global user.email [메일주소] *Git의 설정 범위는 아래와 같이 3가지이며 일반적으로 이름과 이메일은 global로 설정한다. 지역(local): 특정 저장소에만 한정되는 설정 전역(global): 현재 사용자의 모든 저장소를 포함하는 설정 시스템(system): 해당 ..

[AWS] RDS란?

클라우드와 AWS에 이어 AWS시리즈 3탄... 이번에도 프로젝트에서 사용하는 기술스택인데 확실하게 알아두고자 정리했다. RDS란? 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있게 해주는 AWS의 서비스이다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화하고, 사용자가 애플리케이션에 집중하여 애플리케이션에 필요한 빠른 성능, 고가용성, 보안 및 호환성을 제공할 수 있도록 지원해준다. EC2 인스턴스를 생성해서 컴퓨팅을 사용하듯이, RDS 인스턴스를 생성해서 DB를 사용하는 원리이다. 하지만 EC2같이 유저가 시스템에 직접 로그인은 불가능하다. 그래서 RDS 인스턴스의 OS패치, 관리 등은 AWS가 전담 한다. DB 인스턴스 DB..