冬眠多对多用命令我有以下的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