He revisado algunos de los enlaces de estrategias de búsqueda de hibernación en la red. Un enlace breve y conciso que me ha gustado es http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/. Tenemos cuatro tipos de estrategias de búsqueda. estos son: -Algunas consultas sobre estrategias de búsqueda en hibernación y relación de fetchtype con fetchmode?
- fetch- "join" = Desactiva la carga diferida, siempre carga todas las colecciones y entidades.
- fetch- "select" (predeterminado) = Lazy carga todas las colecciones y entidades.
- batch-size = "N" = Obteniendo colecciones o entidades 'N', No graba.
- fetch- "subselect" = Agrupe su colección en una instrucción secundaria.
Mi primera pregunta, ¿cuál de las anteriores califica para el tipo de búsqueda ansiosa o lazyloading?
para criar a mis preguntas acerca de hibernación Las estrategias de recuperación del que estoy considerando debajo fragmento de código en mi clase Departamento
@OneToMany(mappedBy = "department", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
@Fetch(value = FetchMode.SELECT)
@BatchSize(size = 10)
private Set<EmployeeData> employees = new HashSet<EmployeeData>();
Según mi entendimiento Tan pronto como he mencionado fetchType tan ansioso, me he quedado sólo con la join fetch estrategia, pero cuando menciono como fetchtype como lazyloading, tengo otras tres opciones, es decir, seleccionar, tamaño de lote y subselección. ¿Está de acuerdo? Ahora, si miro el fragmento de código en uno de mis proyectos heredados, mencionó el tipo de búsqueda como impaciente y traté la estrategia como selección, lo que se contradice entre sí. ¿Derecha?
Otra consulta es No veo la opción de tamaño de lote cuando escribo FetchMode. y controlas + espacio en eclipse aunque veo otras tres estrategias de búsqueda?
aclaración increíble y rápida –
+1 Fantástica respuesta –