[개발] - Java/Java, SpringBoot 추가 공부
리포지토리 @Query, Optional<>, Timestamp
완벽한 장면
2024. 3. 15. 21:57
1.
메서드 이름 위에 @Query 가 안 붙으면 이것만 보고 추론을 해서 쿼리를 만드는 것이고,
컴파일 에러를 잡아주진 않지만, 실행할 때 이 쿼리를 만든 다음에 시작하기 때문에
그래도 애플리케이션이 동작하면서보단 켜자마자 에러가 발생하는 게 나으니까,
이런 면에서 더 좋다.
2.
Optional<> 은 원하는 걸 주거나 예외를 터뜨리거나
(매번 헷갈리는 내용...)
3. Timestamp 와 setStamp
등록시간과 수정시간이 중요한 경우가 있고,
등록자와 수정자가 중요한 경우가 있고,
어떤 건 다 중요한 경우가 있다.
즉, 어떤 테이블은 필요가 없을 수도 있다는 말이다.
더 많이 쓰는 것을 부모 클래스로 빼서 처리하자.
4. DB 설계에서
연관관계를 맺으면 여러 제약조건이 생기므로 지양하기도 한다.
5. 동시성 문제는
lock()을 이용해 해결하는 것이 일반적이다.
728x90
반응형