冬眠多對多用命令我有以下的DB設置:在jointable
T_PARTICIPANT_MOVEMENT
ParticipantMove_SID BigInt PK
Participant_SID BigInt FK
MoveType_SID BigInt FK
MoveReason Varchar(255)
is_Ops Bit
Order Integer
T_LEG
Leg_SID BigInt PK
StartRegion_SID BigInt FK
EndRegion_SID BigInt FK
PlannedStartDate Datetime
PlannedEndDate Datetime
TJ_PMOV_LEG
Leg_PMov_SID BigInt PK
Leg_SID BigInt FK
ParticipantMove_SID BigInt FK
Order Integer
小解說:一位參與者,裏面還舉的順序多ParticipantMovements。
腿來自交通運輸什麼將做不同的腿,從飛機從布魯塞爾飛往巴黎(腿1),然後巴黎到紐約 (腿2)和從紐約回布魯塞爾(腿3) 。
我們可以讓參與者步入每個起點並走出每個終點。
示例:參加者1駕駛第1代(第1代)和第2代(第2代)。
另一個將飛腿2(1號)和3號線(2號)。
除了對每個參與者都有正確的順序之外,大多數邏輯是將訂單放入joinTable中。
我不必在Java中看到訂單,但我需要保持它的正確性,並以正確的順序檢索列表。
這是唯一的解決方案還是我可以有一個正確的順序列表(以及我如何堅持正確)? :
ParticipantMove:
@OneToMany @JoinTable(name="TJ_PMOV_LEG")
@MapKeyColumn(name"order")
private Map<Integer,Leg> getLegs()
腿:
@OneToMany @JoinTable(name="TJ_PMOV_LEG")
@MapKeyColumn(name"order")
private Map<Integer,ParticipantMove> getMoves()
我認爲插入順序與Java中的集合順序相同,但我不確定這一點。 – Antoniossss 2014-09-26 08:52:30