티스토리 뷰

2022/jpa

day07[builder패턴]

yanii 2022. 12. 1. 17:49

화면에서는 엔티티를 사용하지 않고 DTO를 사용한다.

persistence 티어(엔티티)

busniess 티어

presentation 티어(DTO)

티어가 다르니 서로 연관이 없고 매핑이 되지 않는다.

 

엔티티에 create생성자를 지우고

id같은 시퀀스값을 제외, 화면에서 받을 수 있는 것들만 생성자로 만들어서

@Builder 어노테이션을 붙여준다. => 빌더패턴

안에 있는 내용이 다 전달되어야지만 객체가 만들어진다.

 

Entity : 화면에서 받을 것만 생성자로 제작 후 @Builder

boardEntity.java

 

 

엔티티에서 빌더패턴으로 생성자를 만들면

알아서 static으로 바뀐 다음에, xxx.builder를 쓰는 것임.

DTO에서는 화면에서 전달받은 것을 엔티티로 바꿔줘야지 레포지토리에 등록이 됨. 영속성 컨텍스트에 전달이 됨.

DTO에서는 toEntity로 바꿔주는 메소드를 만들고 entity로 리턴

 

.builder 는 @builder 어노테이션이 있어야 사용할 수 있는 문법이다.

 

DTO: 전달받은 파라미터를 Entity객체로 변환

boardDTO.java

 

service에서 사용하는 방법

 

'2022 > jpa' 카테고리의 다른 글

day06[queryDSL-3]  (0) 2022.12.01
day06[queryDSL-2]  (0) 2022.12.01
day06[queryDSL-1]  (0) 2022.12.01
day06[jpa, mybatis 연동]  (0) 2022.12.01
day05[다대일 양방향 관계]  (0) 2022.12.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함