2017-10-09 3 views
-1

그래서 나는 다음 한 Entitys/테이블을 자식 개체를 기반으로 개체 찾기 다음과 같습니다많은 관계로 봄 데이터에 많은

public interface SatzRepository extends CrudRepository<Satz, Integer> { 

    List<Satz> findById(int id); 
    List<Satz> findByWerkId(int id); 

    //Some query maybe? 
    //List<Satz> findByTracks(String name);? 

} 

맵 N 지금까지 난 내 Webservice를 호출 할 때 JSON 개체를 반환하고 디버깅 난의 도움으로 작동 SatzRepository Set에 트랙 개체가 있음을 알 수 있습니다.

이제 내 질문이옵니다. 주어진 트랙 이름을 기반으로 한 Satz를 어떻게 반환 할 수 있습니까? 다음과 같은 URL이 있다고 가정 해 보겠습니다. localhost:8080/rest/satz/trackname?name=%trackname%

자세한 정보가 필요하면 알려주세요.

답변

1

트랙 리포지토리에 메서드를 추가하여 이름별로 트랙을 찾으면 트랙 개체에서 satz 목록을 가져올 수 있습니다.

public interface TrackRepository extends CrudRepository<Track, Integer> { 

    Track findByName(String name); 

} 

@Transactional 
public TrackServiceImpl implement TrackService{ 
    @AutoWired 
    TrackRepository trackRepository; 

    List<Satz> getSatzByTrackName(String name){ 
     Track track = trackRepository.getByName(name); 

     return track != null ? track.getSaetze() : new ArrayList<>(); 
    } 
} 
관련 문제