À partir des javadocs de OrderColumn :"La colonne de commande doit être de type intégral. Le fournisseur de persistance maintient un ordre contigu (non clairsemé) des valeurs de la colonne d'ordre lors de la mise à jour de l'association ou de la collection d'éléments. La valeur de la colonne d'ordre pour le premier élément est 0."
Ainsi, on s'attend à ce que les valeurs de OrderColumn commencent à 0 et soient des valeurs continues. Ainsi, lorsque les valeurs ne sont pas continues, Hibernate ajoute des éléments nuls à votre liste Java.
Je pense que ce comportement de OrderColumn est similaire au comportement de liste d'index dans le mappage xml hibernate.