📌 FUTURE
-
열심히 살았다, 그래서 결과는?
-
올해 가장 잘한것, -> 아침일찍 일어나는 버릇….
-
1일 1 커밋은 회사원이나, 취준이나, 대학생때 지켜지지 않는건 고질병일까?
과거를 복기하며 취업 이후로 배운것을 정리하려고 했으나, 머리속의 정보가 뒤죽박죽이라 차차 안정화가 되면 꼭… 꼭 정리해야겠다
오늘은 회원을 정보 할 수 있는 페이지에서 ID값을 API로 Request 받고, 해당 ID를 이용해 DB(Mysql) -> Jpa 를 활용하여 원하는 데이터를 찾아 response에 전달하여 http state와 함께 결과값을 리턴했다.
어제 만들어 놓은 서브쿼리(Projections+JPQLQuery,ExpressionUtilis)를 그대로 복붙해서 사용했다
Projections을 하면서 데이터 타입과, 이름을 선언 할 수 있는 Dto를 만들었고, 그 Dto.class를 활용해 쿼리가 동작하면 데이터를 받아와 response dto에 다시 전달해서 새로운 생성자를 통해 원했던 결과값을 전달하는데, Enum을 실전에서 처음 써보다보니 실수하는 부분이 잦았는데,
그냥 String이나 Value 형태로 사용하던게 아니라 과일이라는 상자에 사과, 키위 ,바나나를 넣고 사과는 빨강색, 키위는 갈색, 바나나는 노랑색 처럼 연결 지을 수 있는 구조로 되어있는데, 이때 데이터를 그냥 사과는 달다 라는 식으로 전달 하여 사용하면 언젠가는 예측하지 못한 오류를 발견하게 된다.
Enum 은 과일이고 나는 사과 ( 빨강, 달다) 바나나( 노랑, 맵다) 키위(갈색, 작다)
를 넣고 나는 과일을 찾는다, 이때 과일중에 사과라면 빨강과 달다를 return 해달라고 할 때, JPA는 인식하지 못한다. Entity를 작성 할 때 JPA에게 전달한다 “이 사과는 빨강과 달다를 포함하고 있어, “ 혹은 “ 이 과일이 들어오면 순서대로 빨강,달다,노랑,맵다,갈색 을 넣을꺼야” 처럼
@Enumerated(EnumType.ORDINAL) or @Enumerated(EnumType.STRING)
어노테이션을 사용하여 Jpa나 DB가 읽을 때 Enum을 순서대로 대입할지, String으로 대입할지 Entity단에서 미리 정의를 한다~! 이말이야
그리고 아직 이해하지 못한게 있는데 형변환이 이해가 안간다.
QueryResult bb= result; List cc = bb.getResult 형태처럼 QueryResult를 사용해 이번엔 result를 전달했지만 , 다른 상황에서 List를 단일 Domain으로 뱉는다던가 Optional을 List나 Object로 받는다던가 이해 할 수 없다 아직 ..
✅ Week list
- [] 일기처럼 TIL 쓰기
- [] 커피 줄이기……….. 하루 3잔!
- [] 아침 출근 전 비타민 챙겨먹기 + 양배추환
- [] 담배 줄이기………. 이틀한갑 최소한..