У меня две таблицы: бронь и машина. Итак, у меня есть два класса:
Бронирование
@javax.persistence.Entity
@Table(name = "reservation")
@NamedQueries({
@NamedQuery(
name = "getActiveReservationByStatus",
query = "select reservation from Reservation reservation where reservation.status=:status")
})
public class Reservation implements Serializable {
@javax.persistence.Id
@Column(name = "reservation_id")
@javax.persistence.GeneratedValue(strategy = javax.persistence.GenerationType.AUTO)
private int id;
@Column(name = "reservation_status")
private int status = 1;
@Column(name = "user_id")
private int userId;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy="reservation")
private List<Machine> machineResultList;
public Reservation() {
}
public List<Machine> getMachineResultList() {
return machineResultList;
}
public void setMachineResultList(List<Machine> machineResultList) {
this.machineResultList = machineResultList;
}
//getters, setters...
}
машина
@javax.persistence.Entity
@Table(name = "testmachine")
@NamedQueries({
@NamedQuery(
name = "getMachineByState",
query = "select testmachine from TestMachine testmachine where testmachine.reservation.userId =:status") ,
@NamedQuery(
name = "getMachineNameByReservation",
query = "select machine from TestMachine machine where machine.reservation.status =:status")
})
public class TestMachine implements Serializable {
@javax.persistence.Id
@Column(name = "machine_id")
@javax.persistence.GeneratedValue(strategy = javax.persistence.GenerationType.AUTO)
private int id;
@ManyToOne(cascade= {CascadeType.REFRESH}, fetch=FetchType.LAZY)
@JoinColumn(name="reservation_id")
private Reservation reservation;
@Column(name = "machine_state")
private boolean state = false;
@Column(name = "machine_ip")
private String machineIP;
public void setReservationId(Reservation reservation) {
this.reservation = reservation;
}
public String getReservationId() {
return reservation.getReservationPurpose();
}
//getters, setters...
Если я использую запрос getActiveReservationByStatus, я могу получить значение из таблицы резервирования, используя методы получения и установки, определенные в классе Reservation. Но я не могу получить значения из machineResultList.
Как мне изменить метод getMachineResultList, чтобы можно было получать информацию из этого Списка (информацию из машинной таблицы)?