|
Hibernate 3.3.1.GA:
On fetch, the elements in schedSegMiscInfos are properly ordered, starting at the designated base index of "1" But on parent.saveOrUpdate(), the value assigned to the SEG_MISC_INFO_ORDER field of a newly-appended child element is zero-based. Thus its index value is equal to (not one greater than) that of the formerly last list element.
This appears to be a bug. Any fix or work-around available?
Mapping in parent: @Id @Column(name = "SCHEDULE_SEGMENT_ID", unique = true, nullable = false) private Long scheduleSegmentId;
@OneToMany(fetch = FetchType.LAZY) @org.hibernate.annotations.Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE) @JoinColumn(name = "SCHEDULE_SEGMENT_ID", nullable = false, updatable = false) @org.hibernate.annotations.IndexColumn(name = "SEG_MISC_INFO_ORDER", base=1) private List<SchedSegMiscInfo> schedSegMiscInfos = new ArrayList<SchedSegMiscInfo>(0);
Mapping in child: @Id @Column(name = "SCHED_SEG_MISC_INFO_ID", unique = true, nullable = false, precision = 12, scale = 0) private Long schedSegMiscInfoId;
@Column(name = "SCHEDULE_SEGMENT_ID", nullable = false, updatable = false, insertable = false) private Long scheduleSegmentId;
@Column(name = "SEG_MISC_INFO_ORDER", nullable = false, updatable = false, insertable = false) private Byte segMiscInfoOrder;
|