스프링데이터 + JPA/스프링 데이터 JPA

22. Web확장 도메인 클래스 컨버터

sdafdq 2023. 11. 24. 10:01

스프링 데이터 JPA에서 제공해주는 웹 확장 기능 2가지가 있음.

 

그 중 도메인 클래스 컨버터

 

이게 뭐냐면,

말 그대로 컨버터다.

웹으로 받아온 걸 도메인 클래스로 변환해주는.

@GetMapping("/members2/{id}")
public String findMember2(@PathVariable("id") Member member){
    return member.getUsername();
}

이런거다.

왜냐하면 저렇게 받는게 id니까 이런 식으로 할 수 있는거다.

 

스프링이 중간에 컨버팅 해주고 넣어준다.

 

    select
        m1_0.member_id,
        m1_0.age,
        m1_0.create_by,
        m1_0.created_date,
        m1_0.last_modified_by,
        m1_0.last_modified_date,
        m1_0.team_id,
        m1_0.username 
    from
        member m1_0 
    where
        m1_0.member_id=?

쿼리가 이렇게 알아서 나간다.

 

이게 결국 저 도메인을 타입으로 지정해 놓은 Repository를 찾아서 그걸 이용해서 이렇게 찾아오는거.

 

근데 얘는 딱 조회용으로 써야 함.

DB에서 가져오고 트랜잭션 끝낸 상태에서 넣어준거라 영속성 컨텍스트에 들어가 있는 상태가 아님.

 

단순 조회용으로 간단한 경우에만 사용.