코딩과 결혼합니다

230630 - Git에서 자주 쓰는 코드 & JPA 본문

2세/Git

230630 - Git에서 자주 쓰는 코드 & JPA

코딩러버 2023. 6. 30. 22:28
728x90

오늘 배운 것

 

깃 시작
git init

깃 상태저장 (모두)
git add .

깃 커밋
git commit -m "커밋제목"

깃 push
git push origin main /TEST

깃 브랜치변경
git checkout "브랜치이름"


ORM : Object-Relational Mapping

  • 이름 그대로 객체와 DB의 관계를 매핑 해주는 도구

반복적이고 번거로운 애플리이션 단에서의 SQL 작업을 줄여주기 위한 기술

 

JPA :  Java Persistence API

  • 자바 ORM 기술에 대한 표준 명세

-JPA를 사용하면 DB연결 과정을 직접 개발하지 않아도 자동으로 처리해준다.

-객체를 통해 간접적으로 DB 데이터를 다룸 -> 매우 쉬운 DB작업 처리

 

Entity : JPA에서 관리되는 클래스 즉, 객체를 의미. Entity 클래스는 DB의 테이블과 매핑되어 JPA에 의해 관리된다.

 

영속성 컨텍스트 : 객체가 유지되는 시간이나 공간을 자유롭게 유지하고 이동할 수 있는 객체의 성질

Persistence           Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간  

  • EntityManager : 영속성 컨텍스트에 접근하여 entity 객체들 조작(저장, 조회, 수정, 삭제 등)
  • EntityManagerFactory : EntityManager는 EntityManagerFactory를 통해 생성

Spring Data JPA

 

JPA를 추상화시킨 Repository 인터페이스를 제공

 

SpringBoot 환경에서는 EntityManagerFactory와 EntityManager를 자동으로 생성해준다.

@PersistenceConext 자동으로 생성된 EntityManager를 주입받아 사용할 수 있다.

@Transactional  메서드가 호출되면, 해당 메서드 내에서 수행되는 모든 DB 연산 내용은 하나의 트랜잭션으로 묶인다.

 

- JPA를 사용하여 DB에 데이터를 저장, 수정, 삭제 하려면 트랜잭션 적용이 반드시 필요

 

사용 방법

~~~  extends  JpaRepository<"@Entity 클래스", "@Id 의 데이터 타입">를 상속받는 interface 로 선언

 

 

느낀점

팀 원과 함께 과제를 진행하게 되었다. git을 사용해서 코드를 작성하여 더 많은 기능을 구현하는 블로그를 만들것이다.

바로 회원가입과 로그인 기능을 추가하고 그에 따라 원래의 코드들을 약간씩 수정할 것! 움... 브랜치를 만들고 테스트로 파일을 만들어 푸쉬를 하려했는데 되지 않아서 잠깐 동안 많은 고생을.. ㅋㅋㅋㅋ 그래도 나보다 잘 아시는 팀원 분과 또 깃으로 실전 프로젝트를 진행해 보신 분이 계셔서 정말 아주 처음 기초부터 배우게 되었다. 엄청나게 깃을 파헤치지는 못하더라도 기본은 해야하니 이번 과제에서는 어떻게 하면 협업을 잘 할 수 있는지에 중점을 두어야 겠다.