![[인프런 워밍업 클럽 1기/BE] 세번째 발자국](https://cdn.inflearn.com/public/files/blogs/cf403daa-9759-4898-be42-515c52050230/fd.png)
[인프런 워밍업 클럽 1기/BE] 세번째 발자국
JPA 연관관계
좀 더 객체지향적으로 개발하기
연관관계의 주인
주인이 아닌곳에
mappedBy
설정객체가 연결되는 기준
1:1 관계
@OneToOne
어노테이션 설정트랜잭션이 끝나지 않은 시점 조심
setter 안에서 객체끼리 완전히 연결로 해결
1:N 관계
@ManyToOne
@OneTonMany
사용연관관계 주인은 많은 쪽
단방향으로 사용가능함
@JoinColumn
주인에게 사용가능한 어노테이션null 여부, 유일성 여부, 업데이트 가능 여부 설정가능
N:M 관계
@ManyToMany
복잡해서
1:N
을 활용
cascade
삭제할 때 연관관계에 놓인 테이블까지 함께 삭제
ophanRemoval
연관관계가 끊어진 데이터를 자동으로 제거
연관관계를 무조건 사용하는것이 좋은가?
아님. 지나치게 사용하면 성능 문제와 복잡해짐
Service 코드가 간결해지고, 도메인 계층에 비즈니스 로직이 들어가는 장점이있음
Git
git : 코드를 쉽게 관리할 수 있도록 해주는 버전 관리 프로그램
github : github 은 git 으로 관리되는 프로젝트의 코드가 저장되 는 저장소
git init
: git으로 관리하겠다!git add .
: 모든 프로그램을 올리겠다git status
: 상태를 확인하겠다git commit -m "메시지"
: 깃 메시지를 작성하겠다.git push
: 깃을 올리겠다.
배포
리눅스 명령어
mkdir : 폴더를 만드는 명령어
rmdir : 폴더를 제거하는 명령어
cd : 현재 위치를 변경하는 명령어
cd .. : 상위 폴더로 이동한다
pwd : 현재 위치를 확인하는 명령어
ls : 현재 위치에 있는 폴더와 파일을 확인하는 명령어
ls -l : 조금 더 자세한 정보를 표시할 수 있다.
리눅스에 프로그램 설치
git 설치, java설치, MySql 설치를 해줘야함
background 실행
꺼져도 뒤에서 계속 프로그램이 돌아가는 상태
3주차 회고
이번주 강의를 들으면서 특히 배포를 처음 경험 해보았다. 항상 프로젝트를 할 때 마다 배포를 하는 역할을 맡지않아서 낯설었다. aws에도 처음 회원가입을 했봤다.... 리눅스 명령어들이 아직 익숙하지않아서 어려웠는데 익숙해질 때까지 몇번 연습을 해봐야할 것 같다. 미니프로젝트도 완성하면 도메인도 사서 제대로 배포를 한번더 해봐야할 것 같다. 깃은 평소에 자주 사용해서 익숙했다. 라이브세션도 도움이 많이되었는데 앞으로 프로젝트를 어떤방향으로 해야할지에 대해서도 많은 도움이되었다. 3주간의 공식적인 스터디시간이 거의 끝났는데 남은 미니프로젝트도 좀 더 집중해서 해야겠다.
댓글을 작성해보세요.