【发布时间】:2018-12-30 17:00:12
【问题描述】:
在我的数据库中,我有两个表 airport 和 calendar 由前八键 airport_id 连接。我想从两个表中为确定的airport_id=273获取数据的json响应
例如,我想使用 airport_id 获取 Airport 的数据,使用前八键 airport_id 获取日历的数据等于 273。实际上,我从 localhost:8080 得到了空响应。我没有收到任何错误,只是一个空白页,如下图所示。我做错了什么?提前谢谢!
Airport.java
@Entity
@Table(name = "airport")
public class Airport {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer airport_id;
@Column(name = "departureAirport")
private String departureAirport;
@Column(name = "destinationAirport")
private String destinationAirport;
@OneToMany(mappedBy = "airport")
@JsonManagedReference("airport")
private List<Calendar> calendars; ....
日历.java
@Entity
@Table(name = "calendar")
public class Calendar {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer calendar_id;
@Column(name = "departureTime")
private Time departureTime;
@Column(name = "destinationTime")
private Time destinationTime;
@ManyToOne(targetEntity = Airport.class)
@JoinColumn(name = "airport_id")
@JsonBackReference("airport")
private Airport airport; ....
CalendarController.java
public class CalendarController {
@Autowired
CalendarService calendarService;
@Autowired
AirportService airportService;
@GetMapping(value = "/search/{airport_id}")
public List<Calendar> getCalendars(@PathVariable("airport_id") Integer airport_id) {
Airport airport = airportService.findOne(airport_id);
return calendarService.findOne(airport);
}}
CalendarRepository.java
public interface CalendarRepository extends CrudRepository<Calendar, Integer> {
Calendar getOne(int calendar_id);
List<Calendar> findByAirport(Airport airport_id);
}
CalendarService.java
public interface CalendarService {
List<Calendar> findOne(Airport airport_id);
}
CalendarServiceImpl.java
@Service
public class CalendarServiceImpl implements CalendarService {
@Autowired
CalendarRepository repository;
@Autowired
AirportRepository airportRepository;
@Override
public List<Calendar> getCalendars(Integer airport_id) {
Airport airport = airportRepository.getOne(airport_id);
return repository.findByAirport(airport);
}}
更新
AirpostService.java
public interface AirportService {
Airport findOne(int airport_id);
}
AirportRepository.java
public interface AirportRepository extends CrudRepository<Airport, Integer> {
Airport getOne(Integer airport_id);
}
【问题讨论】:
标签: java json spring hibernate