2017-04-27 1 views
0

나는 라이더의 ID를 얻고 자하는 다음 코드를 가지고있다. 그러나 나는 이것을 어떻게하는지 모른다. 실제로 라이더는 링크 된 사용자의 유형이다. 내가 사용하는 라이더의 유형을 변경하면 RiderLocation 테이블에, 나는이JPA 저장소에서 연결된 테이블의 ID를 얻는 방법

http://localhost:3000/api/riderLocations/search/findByRider?rider_id=3

코드와 같이 URL의 매개 변수에 ID를 보내 질수는

아래

RiderLocation.java입니다
@Entity 
public class RiderLocation implements Serializable { 

    private static final long serialVersionUID = 1L; 
     @Id 
     @GeneratedValue(strategy = GenerationType.IDENTITY) 
     private Long id; 

     @ManyToOne 
     private User rider; 

     private Double latitude; 
     private Double longitude; 

     public Long getId() { 
      return id; 
     } 

     public void setId(Long id) { 
      this.id = id; 
     } 
     public User getRider() { 
      return rider; 
     } 
     public void setRider(User rider) { 
      this.rider = rider; 
     } 
     public Double getLatitude() { 
      return latitude; 
     } 

     public void setLatitude(Double latitude) { 
      this.latitude = latitude; 
     } 

     public Double getLongitude() { 
      return longitude; 
     } 
     public void setLongitude(Double longitude) { 
      this.longitude = longitude; 
     } 
    } 

문제는 유일한 실수는 내가 대신

findByRider(@Param("rider_id") Long rider);

썼습니다 이제 해결

public interface RiderLocationRepository extends JpaRepository<RiderLocation, Long>{ 

    @Query("select r.latitude,r.longitude from RiderLocation r ") 
    ArrayList<Object[]> findAllRidersLocation(); 
    RiderLocation findByRider(@Param("rider_id") Long rider); 

} 
+0

은 Rider 객체의 일부이기도합니다. – sAm

+0

'id'는 RiderLOcation의 일부입니다. id @sAm –

답변

0

RiderLocationRepository :

findByRiderId(@Param("rider_id") Long rider);

관련 문제