코드 그라데이션

리포지토리 @Query, Optional<>, Timestamp 본문

Java, SpringBoot 추가 공부

리포지토리 @Query, Optional<>, Timestamp

완벽한 장면 2024. 3. 15. 21:57

1.

메서드 이름 위에 @Query 가 안 붙으면 이것만 보고 추론을 해서 쿼리를 만드는 것이고,

컴파일 에러를 잡아주진 않지만, 실행할 때 이 쿼리를 만든 다음에 시작하기 때문에

그래도 애플리케이션이 동작하면서보단 켜자마자 에러가 발생하는 게 나으니까, 

이런 면에서 더 좋다.

 

2.

Optional<> 은 원하는 걸 주거나 예외를 터뜨리거나 

(매번 헷갈리는 내용...)

 

3. Timestamp 와 setStamp

등록시간과 수정시간이 중요한 경우가 있고,

등록자와 수정자가 중요한 경우가 있고,

어떤 건 다 중요한 경우가 있다.

즉, 어떤 테이블은 필요가 없을 수도 있다는 말이다.

더 많이 쓰는 것을 부모 클래스로 빼서 처리하자.

 

4. DB 설계에서

연관관계를 맺으면 여러 제약조건이 생기므로 지양하기도 한다.

 

5. 동시성 문제는

lock()을 이용해 해결하는 것이 일반적이다.

728x90
Comments