99 votes

@OneToMany List<> vs Set<> différence

Y a-t-il une différence si j'utilise

 @OneToMany
public Set<Rating> ratings;

ou si j'utilise

 @OneToMany
public List<Rating> ratings;

les deux fonctionnent bien, je connais la différence entre une liste et un ensemble, mais je ne sais pas si cela fait une différence dans la façon dont hibernate (ou plutôt JPA 2.0) le gère.

31voto

rationalSpring Points 2227

Si vous utilisez une liste, vous pouvez spécifier une clause 'Order BY' dans la fonction getter. Vous ne pouvez pas faire cela avec un ensemble. La clause order by peut contenir des EJBQL partiels ; Par example

 @OneToMany
@OrderBy("lastname ASC")
public List<Rating> ratings;

Si vous laissez ce champ vide, la liste est triée par ordre croissant en fonction de la valeur de la clé primaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X