Foros del Web » Programación para mayores de 30 ;) » Java »

Diferencias List, Set, Map Hibernate

Estas en el tema de Diferencias List, Set, Map Hibernate en el foro de Java en Foros del Web. Tengo una consulta en Hibernate cual es la diferencia entre List, Set, Map. Cual debo usar en mis colecciones one to many o many to ...
  #1 (permalink)  
Antiguo 08/08/2011, 15:52
 
Fecha de Ingreso: marzo-2008
Mensajes: 37
Antigüedad: 16 años, 7 meses
Puntos: 0
Diferencias List, Set, Map Hibernate

Tengo una consulta en Hibernate cual es la diferencia entre List, Set, Map. Cual debo usar en mis colecciones one to many o many to many?.

Saludos
  #2 (permalink)  
Antiguo 08/08/2011, 15:58
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Diferencias List, Set, Map Hibernate

Una lista, es precisamente eso, una lista de objetos que contiene un indice (numérico). Un Set, es como una lista pero que no tiene indice y no permite duplicados. Y un Map, es una lista que puede tener cualquier objeto como indice, un par llave/valor.
http://vayajava.blogspot.com/2008/05...ones-list.html

Cual deberias usar depende de lo que necesites.
  #3 (permalink)  
Antiguo 08/08/2011, 16:23
 
Fecha de Ingreso: marzo-2008
Mensajes: 37
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Diferencias List, Set, Map Hibernate

Hola RonRuby

Gracias por el link, mi duda es mas que todo el uso de estas en las relaciones de hibernate ya que he visto ejemplos que usan List otros Set cuando se trata de relaciones one to many.

Lo que me gustaria saber a nivel de performance cual es mas optimo ya que los dos son colecciones y en mis consultas pueden haber duplicados como no cuando haga mis select.

Saludos
  #4 (permalink)  
Antiguo 08/08/2011, 22:37
 
Fecha de Ingreso: enero-2008
Mensajes: 197
Antigüedad: 16 años, 10 meses
Puntos: 10
Respuesta: Diferencias List, Set, Map Hibernate

Creo que necesitas estudiar de colecciones en Java para poder identificar cual es la mejor solución que se adapta a lo que quieres hacer, a que me refiero con estudiar colecciones es que:

Un List puede tener "mejor" performance comparado con un Set si lo sabes utilizar correctamente (capacity, ensureCapacity etc...) o puedes degradar un HashSet a un simple List si no te aseguras de definir correctamente los metodos equals o hashcode. O simplemente tener comportamientos inadecuados de tus colecciones si no tienes cuidado de implementar correctamente los metodos antes mencionados.

En fin, existen muchas implementaciones de List Set Map y su uso Optimo es proporcional a que tanto sabes de estas colecciones.

Otra cosa que mejora el performance y debes tener cuidado en elegir es el Session de Hibernate que usas, si es stateless o statefull si usas second level cache, query cache, si defines bien tus entidades, PKs, FKs, etc etc etc.

Ademas no solo existen este tipo de colecciones, aperte debes tener cuidado en elegir la adecuada si estas en ambientes concurrentes.

Te recomiendo leas sobre Java Collections

Etiquetas: hibernate, list, set
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:26.