Resume principalmente a Hibernate de los siguientes aspectos de la docena, incluido el método de recuperación de Hibernate, el estado del objeto en Hibernate, cuáles son las tres estrategias de recuperación de Hibernate, que las ocasiones son aplicables, el problema que resuelve ORM no coincide con la herencia de la herencia de la herencia de hibernación. Herencia de herencia herencia Las tres formas de relaciones, el resumen del método de sesión find () y la diferencia entre la interfaz de consulta, etc. El contenido específico es el siguiente:
1 Método de búsqueda de hibernación
索 Búsqueda de diagrama de objeto de navegación (de acuerdo con el objeto cargado, navegación a otros objetos).
按 Búsqueda de OID (recupera el objeto de acuerdo con el OID del objeto).
使用 Recuperación de HQL (usando un lenguaje de consulta HQL orientado al objeto).
Search (使用 使用 使用 使用 使用 QBC Search (usando QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QBC (QURY por criterio) API) API) API) API en API) API) API en API) API en API) API en API) API. ) para recuperar objetos.
索 Recuperación local de SQL (Declaración de consulta SQL utilizando la base de datos local).
Incluyendo el método de recuperación de Hibernate, el estado del objeto en Hibernate, cuáles son las tres estrategias de recuperación de Hibernate, en qué ocasión se aplican las ocasiones, el problema que resuelve ORM no coincide, los tres métodos de la relación de herencia de mapeo de hibernación, el Método de sesión de session () encontrado y el resumen de las diferencias en la diferencia entre la interfaz de consulta
T transitorio: Acabo de crear con la nueva declaración, no se ha persistido y no está en el caché de la sesión. Los objetos Java en un estado temporal se denominan objetos temporales.
(Persistente: se ha persistido y agregado al caché de la sesión. Los objetos Java en un estado persistente se llaman objetos persistentes.
E separado: se ha persistido pero ya no está en el caché de la sesión. Los objetos Java en estado libre se llaman objetos libres.
3 ¿Cuáles son las tres estrategias de recuperación de Hibernate y qué ocasión es aplicable a las que se aplican las ocasiones?
Ø Recuperación inmediata
Ventajas: completamente transparente a la aplicación.
Desventajas: las declaraciones seleccionadas son muchas.
Aplicable: nivel de clase.
Ø Recuperación retrasada
Ventajas: qué objetos están cargados por la aplicación para evitar la ejecución de declaraciones selectivas excesivas y evitar objetos que no necesitan cargarse, ahorrando espacio de memoria y mejorando la eficiencia de la recuperación.
Desventajas: si la aplicación debe acceder a la instancia del agente del estado de defensa, debe asegurarse de que se haya inicializado cuando sea duradero.
Aplicación: uno -to -multiple o más asociado. Las aplicaciones no necesitan ser accesibles de inmediato o no acceden en absoluto.
接 Búsqueda urgente de conexión izquierda y exterior
Ventajas: es completamente transparente para la aplicación. Con conexiones externas, el número de declaraciones selectas es pequeño.
Desventajas: los objetos a los que no se puede acceder se pueden cargar. Complejo de la tabla de datos de la base de datos Rendimiento de búsqueda de imágenes.
Aplicación: One -a -One o más asociado. Las aplicaciones deben acceder de inmediato. El sistema de la base de datos tiene un buen rendimiento de conexión de tabla.
4 ORM resolvió el problema de la no coincidencia (no coincide entre el modelo de dominio y el modelo de relación)
向 El modelo de dominio está orientado al objeto y el modelo de relación está relacionado.
El modelo de dominio tiene relaciones de herencia, y el modelo de relación no puede representar directamente la relación de herencia.
Hay muchas relaciones en el modelo de dominio 多, y en el modelo de relación, la tabla de conexión se usa para representar más y más relaciones asociadas.
双 El modelo de dominio tiene una relación de dos vías.
精 El modelo de dominio promueve el modelo de tamaño de partícula fina, y el modelo de relación aboga por modelos de tamaño grueso.
5 Mapeo de hibernación en 3 formas de relación de herencia
系 Todo el sistema de herencia utiliza una tabla (jerarquía de tableper)
张 Cada subclase tiene una tabla, almacenada los atributos únicos de la subclase (subclase de Tableper)
张 Cada clase específica (Union-Subclass), guardada como información completa de la tabla (tabla por concreto)
6 session find () y la diferencia entre la interfaz de consulta
El método find () de la clase de sesión y la interfaz de consulta admite el método de recuperación HQL. La diferencia entre los dos es que el primero solo ejecuta algunos métodos convenientes para declaraciones de consulta HQL simples. La interfaz de consulta es la interfaz de consulta.
7 Configuración de la asociación de hibernación
Uno -on -one
Ø Ø Ø Ø Ø
Ø Ø Ø Ø Ø
8 Describa brevemente las características de la sesión
No los hilos son seguros, por lo que al diseñar arquitecturas de software, se deben evitar múltiples hilos para compartir la misma instancia de sesión.
实 La instancia de la sesión es liviana. Esto significa que el objeto de sesión se puede crear o destruir regularmente en el programa, como asignar una instancia de sesión separada para cada cliente, o para asignar instancias de sesión individuales para cada unidad de trabajo.
En sesión, cada operación de base de datos se realiza en una transacción, para que pueda separar diferentes operaciones (incluso leer solo).
9 Hibernate usa el archivo XML para configurar el objeto: las ventajas de la asignación de relaciones
Hibernar no penetra en el modelo de dominio superior ni penetra en el modelo de datos inferior. Los desarrolladores de software pueden diseñar modelos de dominio de forma independiente sin fuerza para obedecer cualquier especificación. Los diseñadores de bases de datos pueden diseñar modelos de datos de forma independiente sin fuerza para cumplir con cualquier especificación. El mapeo de la relación de objetos no depende de ningún código de programa. Mantenimiento más conveniente.
10 La función del caché de la sesión
库 Reduzca la frecuencia de acceso a la base de datos. La velocidad de la aplicación desde la memoria desde la memoria es obviamente más rápida que la velocidad de consultar los datos en la base de datos, por lo que el caché de sesión puede mejorar el rendimiento del acceso a los datos.
对 Garantiza que el objeto en el caché esté sincronizado con los registros relevantes en la base de datos. Cuando cambia el estado del objeto persistente en el caché, la sesión no ejecuta inmediatamente la instrucción SQL relevante, que permite a la sesión combinar varias declaraciones SQL relacionadas en una instrucción SQL para reducir el número de bases de datos de acceso y aumentar el programa de aplicaciones actuación.
11 El problema de más que el tiempo de ejecución de más asuntos
新 El primer tipo de actualización de pérdidas
Lectura sucia
Ø Ø Ø Ø/Lectura fantasma
Ø No leas repetidamente
新 El segundo tipo de actualización de pérdidas
12 La diferencia entre la limpieza y el vacío de la sesión
清 Caches de limpieza de sesión significa actualizar la base de datos sincrónicamente de acuerdo con los cambios en el estado del caché;
S claro es la sesión para borrar parte o todos los objetos o sesión;
13 Principio de trabajo de Hibernate y por qué
Primario
1. Lea y analice el archivo de configuración
2. Lea y analice la información de mapeo, cree SessionFactory
3. Sesión abierta
4. Crear transacción de transacción
5. Operación persistente
6. Envíe una transacción
7. Sesión cerrada
8. Cerrar sestionFactory
Ø ¿Por qué usas
1. Empaquetó el código del acceso de JDBC a la base de datos, lo que simplifica enormemente el tedioso código repetitivo de la capa de acceso a datos.
2. Hibernate es un marco convencional y de persistencia basado en JDBC, y es una excelente implementación de ORM. Él simplifica en gran medida el trabajo de codificación de la capa DAO
3. Hibernate utiliza el mecanismo de reflexión Java en lugar del programa mejorado de bytecode para lograr la transparencia.
4. El rendimiento de Hibernate es muy bueno porque es un marco liviano. La flexibilidad del mapeo es excelente. Admite varias bases de datos de relaciones, de una a una a relaciones más complejas.
14 Carga de retraso de hibernación
1. Implementación de carga de retraso de Hibernate2: a) Objeto deportivo B) Tipo de recolección
2. Hibernate3 proporciona una función de carga de retraso del atributo
Cuando Hibernate consulta los datos, los datos no existen y la memoria, y cuando el programa realmente opera los datos, el objeto existe y la memoria se retrasa.
15 mecanismo de caché de Hibernate
1. El primer caché de nivel de nivel también se llama caché interno hibernado, que pertenece al caché de la clase de transacción de la aplicación
2. Cache de segundo nivel
a) Aplicación y caché
b) caché distribuido
Condiciones: Los datos no serán modificados por un tercero, el tamaño de los datos está en un rango aceptable, la frecuencia de actualización de datos es baja y los mismos datos son utilizados con frecuencia por el sistema y los datos no críticos.
c) La realización del caché de terceros
16 optimizar hibernado
1. Use las asociaciones de dos vías de una vez, no use un par
2. Uso flexible de una asociación de una multa
3. Nadie a uno, reemplácelo con más pares
4. Configuración de la memoria caché del objeto, sin caché de colección
5. One -a -multi -collection Use Bag, la mayoría del conjunto de uso de colección múltiple
6. Las clases de herencia se utilizan para el estado multicle
7. Hay menos campos de mesa, no tengas miedo de la asociación de tablas, hay caché de segundo nivel que soporta la cintura
Lo anterior es un resumen común de Hibernate, que es más común en las entrevistas de Java, con la esperanza de ayudar a todos.