Entity Attribute / 패스트캠퍼스 챌린지 08일차

망고쥬스·2021년 11월 8일
0
  • Domain Entity
    Entity 내에서는 Pk값을 반드시 지정해야 한다 (@Id 로 지정)

    GenerationType(Streatgy)

  • Table : DB종류에 상관없이 ID값을 관리하는 별도의 테이블을 만들고, 해당 Table에서 Id값을 추출해서 사용한다.
    - name(): 테이블 이름 지정 가능 (User같은... 하지만 자동으로 지정되기땜에 따로 지정안해줘도 된다)
    - catalog():
    - schema():
    - uniqueConstaints(): 제약조건
    - indexes():

  • Sequence: 시퀀스를 제공하는 오라클 등에서 사용하게 된다.

  • Identity : Most Common Setting Value.

  • Auto: Default Value. 각 DB에 적합한 값을 자동으로 넘겨준다. DB의존성 없이 코딩할 수 있는 장점이 있다.

  • Column
    - nullable = false 의 경우 컬럼을 not null 처리를 해준다.
    - updatable = false 의 경우 선언 되어진 컬럼이 update가 이루어 지지 않게 막는다
    - insertable = false 의 경우 선언 되어진 컬럼이 insert가 이루어 지지 않게 막는다

  • Transient : DB에 반영하지 않고 일반 Object로만 사용하고 싶을 때 선언 (연속성 처리에서 제외시킨다)

=========================================

@Test
void InsertAndUpdateTest(){
 User user = new User();
 
 user.setName(”martin”); 
 user.setEmail(”martin@erumcompany.com”);

 userRepository.save(user);

 User user2 = userRepository.findById(1L).orElseThrow(RuntimeException::new);
  //user2 에 user에서 저장한 martin (1번 id를 가진 컬럼)을 가져와 넣어준다.
 user2.setName(”marrrrtine”);
 //들어와 있는 user2의 값에 이름을 “marttttine”으로 수정해준다. (즉 신규데이터 삽입이 아닌 수정된 데이터가 들어가게 된다)

 userRepository.save(user2);
 }
}
<hr>
Result
 Hibernate:
1번/ insert 실행
insert
into
 user
  (created_at, email, name, updated_at, id)
 values
  (?, ?, ?, ?, ?)

2번/ select 실행

select
 user.id, user.created_at, user.email, user.name, user.updated_at
from
 user
where
 user_id = ?

3번/ update 실행

update
 user
set
 created_at = ? , email = ?, name = ?, updated_at = ?
where
 id = ?

=========================================

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Java/Spring웹개발마스터초격차패키지Online

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/3FVdhDa

profile
#newbieDeveloper #since 2021.04.06

0개의 댓글