해결된 질문
작성
·
359
0
만약에 save 메소드처럼 객체를 통째로 저장하려고 한다면,
@Query("select m from Member m where m=:m")
void save(@Param("m") Member m);
이렇게 하면 되나요?
그리고 Member 내부 속성에서 만약 team 객체를 통해 조회하는게 가능할까요? 가령,,
@Query("select m from Member m where m.team.teamName=:teamName")
void findByTeamName(@Param("teamName") String teamName);
감사합니다.
답변 1
0
안녕하세요. 임병윤님
스프링 데이터 JPA가 save 메서드를 제공하기 때문에 단순히 이미 만들어져 있는 save를 다음과 같이 호출하면 됩니다.
repository.save(member);
두번째 질문하신 부분은 가능하기는 하지만 절대 권장하지 않습니다!
이렇게 하면 묵시적 조인이라는 것이 발생하는데요. 유지보수가 매우 어려워집니다.
묵시적 조인에 대한 자세한 내용은 JPA 기본편의 경로 표현식을 참고해주세요.
p.s: 스프링 데이터 JPA는 JPA 자체를 먼저 잘 이해하고 사용하는 것을 권장드립니다. 다음 로드맵을 참고해주세요.
https://www.inflearn.com/roadmaps/149
감사합니다.