我想映射Train.fares
到票价类,但只有当前有效的票价(在有效/到期日期窗口内)。在@Where
Fare 的注释中,如何指定effDate
并expDate
引用Fare.effDate
and Fare.expDate
?
@Entity
@Table(name = "TRAIN")
@Configurable
public class Train {
@Id
private String id;
@Column
private Date ddate;
@Column
private String company;
@Column (name = "NBR")
private String trainNbr;
@OneToMany(mappedBy = "flight", fetch = FetchType.LAZY)
@Id
private List<Fare> Fares;
...setters & getters
}
@Entity
@Table(name = "FARE")
public class Fare {
@Id
private Long id;
@Column
private String company;
@Column (name = "NBR")
private string trainNbr;
@Column
private Date effDate;
@Column
private Date expDate;
@ManyToOne
@JoinColumns({
@JoinColumn(name = "COMP", referencedColumnName = "COMP", insertable = false, updatable = false),
@JoinColumn(name = "NBR", referencedColumnName = "NBR", insertable = false, updatable = false)
})
@Where(clause = "SELECT t from TRAIN as t where t.ddate >= effDate AND t.ddate <= expDate")
private Train train;
...setters & getters
}