Java Hibernate使用开始索引1而不是0持久化列表

Java Hibernate使用开始索引1而不是0持久化列表,java,hibernate,Java,Hibernate,我们使用Hibernate保存一个实体列表,使用OrderColumn来维护它们的顺序 class MyObject { ... @OneToMany(mappedBy = "myobject", cascade = {CascadeType.PERSIST, CascadeType.DETACH, CascadeType.MERGE, CascadeType.REFRESH}) @OrderColumn(name = "index_number") private

我们使用Hibernate保存一个实体列表,使用
OrderColumn
来维护它们的顺序

class MyObject {

...

   @OneToMany(mappedBy = "myobject", cascade = {CascadeType.PERSIST, CascadeType.DETACH, CascadeType.MERGE, CascadeType.REFRESH})
   @OrderColumn(name = "index_number")
       private List<sampleElement> sampleElement;
}
类MyObject{
...
@OneToMany(mappedBy=“myobject”,cascade={CascadeType.PERSIST,CascadeType.DETACH,CascadeType.MERGE,CascadeType.REFRESH})
@OrderColumn(name=“index\u number”)
私有列表样本元素;
}
保存元素列表时,
索引编号
1
开头,而文档建议它应该从
0
开始。这也会导致读取时出现问题,因为读取列表在位置
0
处包含
null
元素


我们已经环顾了很多地方,有些不知所措。有什么建议吗?

可以使用自定义

定义存储在数据库中的列表索引的起始索引值。从读取时的传入数据库值中减去该基数,以确定列表位置;写入数据库时,会将其添加到列表位置索引中。默认情况下,列表索引从零开始存储

@OneToMany(mappedBy=“myobject”,cascade={CascadeType.PERSIST,CascadeType.DETACH,CascadeType.MERGE,CascadeType.REFRESH})
@OrderColumn(name=“index\u number”)
@ListIndexBase(1)
私有列表样本元素;
另请参见hibernate文档的第1部分