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
| ||||
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. |
| |||
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 |
| |||
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: |