Gegeben sei eine Entity A mit einer One2Many-Beziehung zu z. B. History-Einträgen. Diese Beziehung ist geordnet, also eine Liste.
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@IndexColumn(name = „position“)
@JoinTable(name=“T_A2HISTORY“)
protected List<HistoryDO> getHistory() {
Vergisst man @IndexColumn, so kann es sein wie unter HSQL-DB, dass alles funktioniert z. B. in einem Unit-Test. Unter Oracle hingegen erhält man mitunter den eigentlich einzigen Eintrag in der History-Tabelle mehrfach, je nach (Join)-Fetch-Strategie.
Auch sollte die IndexColumn wie üblich keine Schlüsselwörter von den Zieldatenbanken enthalten und auch keine gemappte Property betreffen. (Ich hatte da zumindest sonst Schwierigkeiten.)