1

我想映射Train.fares到票价类,但只有当前有效的票价(在有效/到期日期窗口内)。在@WhereFare 的注释中,如何指定effDateexpDate引用Fare.effDateand 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
}
4

0 回答 0