TIL

스터디 요약

haedal-uni 2022. 12. 4. 19:12
728x90

@Column은 생략이 가능하다.

팀원은 pk에 @Column을 생략했고 나는 모든 필드명에 @Column을 작성했었다.

 

@Column에는 여러 옵션이 있는데 별다른 옵션을 설정하지 않는다면 생략이 가능하다.

즉 Entity 클래스에 정의된 모든 내부변수는 기본적으로 @Column 어노테이션을 포함한다고 볼 수 있다.

 

name 속성을 명시하지 않으면 Entity 클래스에 정의한 컬럼 변수의 이름으로 생성이 되는데

나는 name의 속성을 사용해서 @Column을 사용했고 팀원은 사용하지 않았던 것이다.

 

또 nullable = false를 사용하려면 @Column을 사용하게 되는데

pk는 이미 not null이므로 name 속성을 지정하지 않는 이상 생략이 가능하다고 한다.

 

JPA 기본 사용 문법 파악하기

 


toEntity()

 

여태껏 다른 사람이 작성했던 코드를 보면 Entity에 dto에 대한 생성자를 작성하지 않았었고

이 부분에 대해서 스터디에 얘기를 해보니 

Entity에 dto를 사용하지 않고 dto에서 Entity를 사용한다고 한다.

 

그 이유는 하위레이어를 의존하는 것을 기본으로 하기 때문에

Controller > Service > Repository 순으로 

Entity는 최하위이기 때문에 최하위에서 dto를 사용하기 보다는

dto에서 Entity를 사용하는 것이 낫다라고 판단하는 것이다.

 

또한 Entity를 보여주기보다 보안적으로 dto로 해서 보여주는게 낫다.

 

728x90

'TIL' 카테고리의 다른 글

findById vs getReferenceById  (0) 2022.12.12
가설  (0) 2022.12.10
프로젝트 관련 공부  (0) 2022.12.03
이 글도 공감해주세요 게시판 기능 수정  (0) 2022.12.01
연관관계 글 정리 완료  (0) 2022.11.29