-
2021.08.26 기록장TIL 2021. 8. 25. 23:52
ToDo
- 토이 프로젝트
- 책 읽기
Done
- 토이 프로젝트
Weekly goal
- 책 읽기
jpa에서는 메서드 이름으로 쉽게 sql쿼리를 날릴 수 있다.
예로 exists를 통해 원하는 조건이 있는지 쉽게 알 수 있다.
근데 많은 조건이 붙으면 지저분해지기에 직접 쿼리 작성을 많이 한다.
근데 count쿼리로 많이 날리는데 이는 좋지 않다. count는 풀스캔을 해야 하고 exists는 첫 조건만 확인하니까.
https://jojoldu.tistory.com/516
JPA exists 쿼리 성능 개선
Spring Data Jpa를 사용하다보면 해당 조건의 데이터가 존재하는지 확인 하기 위해 exists 쿼리가 필요할때가 많습니다. 간단한 쿼리의 경우엔 아래와 같이 메소드로 쿼리를 만들어서 사용하는데요. b
jojoldu.tistory.com
thymeleaf를 사용하는데 많은 장점이 있다.
예로 동적으로 action이나 id값을 쉽게 변경할 수 있다는 것이다.
review id에 따라 div의 id값과 함수 호출시의 아규먼트 값을 쉽게 변경할 수 있다.
토이 프로젝트를 하면서 고민했던 점은 util로 뺄 수 있는 class를 serivce로 두는 이유에 대해서와 객체의 책임은 누구에게 줘야 하는지 이다.
전자는 변경이 되지 않는다고 확정적으로 생각하면 util로 뺄 수 있을 것이고 , 변경이 나중에 생길 수 있다면 ( ex.point 정책 ) service로 둬서 다형성을 활용하는 것이다.
후자는 특정 작업을 해주는 service가 있을 때 모든 권한을 그 service에 넘겨야 하는지 아님 객체에게 일부 책임을 할당해야하는지에 대한 고민이었다.
object에 보면 정보 전문가(책임을 수행하는데 필요한 정보를 많이 가지고 있는)에게 할당하라는 말이 기억나, 객체에게 넘기기로 했다.
'TIL' 카테고리의 다른 글
2021.08.29 기록장 (0) 2021.08.28 2021.08.27~28 기록장 (0) 2021.08.26 2021.08.24~25 기록장 (0) 2021.08.23 2021.08.22~23 기록장 (0) 2021.08.21 2021.08.21 기록장 (0) 2021.08.20