Mam taki problem że gdy tworze tabele z kluczem złożonym z 2 pól tworzy klucz ze "złą" kolejnością pól w kluczu na bazie.
Mam klasę np:
@Table("Alarm", schema = "dbo")
class Alarm {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name ="AlarmId")
private long id;
@Id
@Column(name ="OFFICEDATETIME", columnDefinition = "datetime2(7) DEFAULT GETDATE()")
private Timestamp officeDateTime;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "AlarmId", cascade = {CascadeType.REMOVE, CascadeType.PERSIST})
private List<AlarmParameter> alarmParameters;
...
}
@Table("AlarmParameter", schema = "dbo")
class AlarmParameter {
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumns({
@JoinColumn(name = "AlarmId", referencedColumnName = "AlarmId"),
@JoinColumn(name = "AlarmOfficeTime", referencedColumnName = "OFFICEDATETIME")})
private Alarm AlarmId;
...
}
I kolejność klucza na bazie dla tabeli Alarm jest:
[OFFICEDATETIME], [AlarmId]
a chce osiągnąć aby był:
[AlarmId], [OFFICEDATETIME]
Da się manipulować kolejnością pól klucza czy tylko tworzenie z poziomu SQL zostaje?