본문 바로가기
IT/Java

findBy 쿼리 메서드에서 dto 명칭(underbar, camel case)

by 성준하이 2023. 2. 10.
반응형

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

 

반응형

댓글