일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- mapping
- line messaging api
- linebot
- Optional
- static dispatch
- springboot
- enum
- java
- spring
- NullPointerException
- webhook
- ngrok
- double dispatch
- getOrCreate
- visitor proxy pattern
- annotation
- Visitor pattern
- Dynamic dispatch
- DtoToEntity
- EntityToDto
- 챗봇
- Controller
- 토비의 봄
- Modelmapper
- reflection
- Today
- Total
목록2019/05/16 (2)
database by narae :p
Entity 클래스란 JPA에서 실제 데이터베이스의 테이블과 매칭되는 클래스입니다. JPA를 사용하면서 Entity 클래스를 작성하였고, 프로젝트 초기에는 Entity로 Repository 뿐만 아니라 Service, Controller 영역까지 사용하였습니다. Entity를 화면에 띄우는 데까지 사용하다 보니 양방향으로 연결된 엔티티는 순환 참조 문제가 발생하였고, 다른 Entity를 참조하고 있는 경우 현재 Entity 뿐만 아니라 다른 Entity에도 원치 않는 변경이 일어나거나, 무거운 양의 데이터를 들고 여러 영역을 오가는 것이 성능 상에도 좋지 않을 것으로 생각하였습니다. 따라서 DB Layer에는 Entity, View Layer에서는 DTO를 사용하여 역할을 분리하여 Entity와 DTO가..
스프링 데이터 JPA를 사용하며 CrudRepository의 findById 메서드 리턴 타입인 Optional 클래스에 처음 접하게 되었습니다. Optional은 Java 8에 추가된 새로운 API로 이전에 하던 '고통스러운 null 처리'를 '잘' 다룰 수 있게 도와주는 클래스라고 합니다. 저는 Optional 클래스를 처음 접하게 되며, "대체 이런걸 왜 쓰는 거야?" 라는 의문을 강하게 품고 있었습니다. 아마 그 이유는 제가 Optional을 Optional답게 사용하지 못했던 것 때문이라고 생각합니다. NullPointerException Null 처리를 돕는 Optional 클래스에 대한 글이기 때문에 NullPointerException에 대해 먼저 이야기하며 시작하겠습니다. class Ac..