Entity Attribute / 패스트캠퍼스 챌린지 08일차
-
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(”[email protected]”);
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
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
Author And Source
이 문제에 관하여(Entity Attribute / 패스트캠퍼스 챌린지 08일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mangojuice/Entity-Attribute-패스트캠퍼스-챌린지-08일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)