TIL-211103

박건희·2021년 11월 3일
0

1. Entity single field update : http Patch

  • Entity의 단일 field를 수정하기 위해 put 대신 patch 방식을 구현하고자 했다
  • 수정하고자 하는 field가 Entity Class의 필드명과 일치하는지 확인하여 일치하면 변경하고자 했다
  • 이를 위해 Java의 reflection 개념을 찾아서 적용했다

Reflection은 클래스, 인터페이스, 메소드들을 찾을 수 있고, 객체를 생성하거나 변수를 변경할 수 있고 메소드를 호출할 수 있다

  • 동적으로 필드 정보를 조회하여 아무래도 성능에 제약이 있을 수 있지만, 꼭 그런것은 아닌듯 하다
  • getFields() vs getDeclaredFields()
    • getFields() : public fields
    • getDeclaredFields() :

reflection 참고1
reflection 참고2
자바-리플렉션에-대한-오해와-진실/

  • JPA의 변경감지 기능을 사용해서 entity를 조회
    • 변경을 원하는 field명과 해당 entity의 필드를 reflection으로 비교하여 일치하는 필드가 있으면 ? value로 변경 : throw Exception

2. Spring bindingResult

spring-valid-bindingResult

3. Generic과 와일드카드를 더 공부하자

  • 원하는대로 구현하려면 generic과 와일드카드를 사용해야 했는데 시간이 부족하니 쉬운 방법으로 구현했다

0개의 댓글