1

運賃クラスにマッピングしたいTrain.faresのですが、現在有効な運賃のみ (発効日/有効期限内) のみです。Fareの@Where注釈で、どのようにそれを指定し、とeffDateexpDate参照できますか?Fare.effDateFare.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