CRUD repository 에서 제공하는 쿼리 메서드를 사용하게 되면 아마
findById 에 대해서는 들어봤을 것이다.
자세한 사항은 아래 참고 포스팅을 참고 바란다.
그리고 dto 를 사용 하게 될 경우 , 정확히는 entity 를 사용하게 될 경우
변수의 명명 규칙이 있다.
바로 camel case 규칙이다.
자세한 사항은 아래 참고포스팅을 참고 바란다.
쿼리 메서드를 사용하게 되면
예를들어 변수명이 name 일 경우나 className 같은 경우는
findByName / findByNameAndClassName
이런식으로 And 절 나오기 전 까지 구분이 된다.
허나 데이터베이스에서는 camel 케이스 보다는 언더바를 사용하는 snake 케이스를 주로 사용한다.
그러기에 자바 dto 에서는 이것을 camel 케이스로 변경하여
class_name 을 className 처럼 사용하곤한다.
여기서 문제가 발생하였다.
만약 변수명이 a_class_name
이런식으로 되어있다고 하면 dto 에서는 String aClassName
이렇게 받게 되고 findByAClassName
이렇게 사용을 해야한다.
이럴 경우엔 @Column annotation을 사용하여
@Column("a_class_name") private String name; |
이렇게 사용을 해주면 findByName으로 사용이 가능하고 persistence 쪽에서는 알아서 a_class_name 이라는 변수와 매핑을 해주게 된다.
참고 포스팅
https://thenicesj.tistory.com/394
JpaRepository 관련 쿼리메서드
JPA 를 사용하게 되면 repository 에서 JpaRepository 를 상속 받아서 해당 repository의 메서드를 사용할수 있다. 대표적으로 findById 가 있는데 비슷한 메서드 들을 좀더 알아보기 위해 포스팅을 작성해본
thenicesj.tistory.com
https://thenicesj.tistory.com/443
findBy 비교 조건들
이전 포스팅에서 조건들을 몇개 올린적이 있다. 근데 해당 조건들은 대부분 equals 조건들이었다. 자세한 내용은 아래 참고 포스팅을 참고 하자. 이번 포스팅은 equals 을 포함해서 비교 연산자까지
thenicesj.tistory.com
https://thenicesj.tistory.com/270
변수명 표기법
다양한 프로그래밍 언어들이 존재하지만 그들의 공통점들 중 하나는 변수를 사용한다는 것이다. 그럼 여기서 변수를 어떻게 표기하느냐. 이것도 중요한 문제이다. 물론 어떻게 쓰든 요즘엔 한
thenicesj.tistory.com
'IT > Java' 카테고리의 다른 글
Spring 에서 async 처리 (@Async) (13) | 2023.02.19 |
---|---|
Error, Checked Exception, Unchecked Exception 비교 (11) | 2023.02.14 |
자바 Timestamp / Date / LocalDate 에서 현재 시간 구하는 방법 (4) | 2023.02.09 |
[Java] 리스트 내 요소 중복 체크 (9) | 2023.02.06 |
LOG 란? (13) | 2023.02.05 |
댓글