Ich habe vier Entitäten, die in einer Abfrage beteiligt sind, mit denen ich ein wenig Probleme habe. Die Beziehung ist wie folgt: Exchange----*Contract*----*Combo----*Trade
und die (vereinfacht) Einheiten sind wie folgt:JPA: Viele bis viele Query-Hilfe benötigt
@Entity
public class Exchange implements Serializable {
@Id(name="EXCHANGE_ID")
private long exchangeId;
@Column
private String exchangeShortName;
}
@Entity
public class Contract implements Serializable {
@Id
private long contractId;
@Column
private String contractName;
@ManyToOne
@JoinColumn(name="EXCHANGE_ID")
private Exchange exchange;
@ManyToMany
@JoinTable(name="CONTRACT_COMBO",
joinColumns = { @JoinColumn(name="CONTRACT_ID") },
inverseJoinColumns = {@JoinColumn(name="COMBO_ID")})
private Set<Combo> combos;
@Column(name = "ACTIVE_FLAG")
private String activeFlag;
}
@Entity
public class Combo implements Serializable {
@Id
@Column(name="COMBO_ID")
private Integer id;
@ManyToMany
@JoinTable(name="CONTRACT_COMBO",
joinColumns = { @JoinColumn(name="COMBO_ID") },
inverseJoinColumns = {@JoinColumn(name="CONTRACT_ID")})
private Set<Contract> legs;
@OneToMany(mappedBy = "combo")
private Set<Trade> trades;
}
@Entity
public class Trade implements Serializable {
@Id
@Column(name="TRADE_ID")
private long tradeId;
@Column(name="REFERENCE")
private String reference;
@ManyToOne
@JoinColumn(name="COMBO_ID")
private Combo combo;
}
Ich möchte für einen bestimmten Austausch eine Liste aller Gewerke bekommen, die ich kann nicht ganz mit MEMBER OF
zu arbeiten. Jede Hilfe wäre willkommen.
Großartig - funktioniert perfekt. – OurKid