Hibernate Framework-01-01-Introducción básica


Dirección del proyecto

https://yxmiaoyu.lanzous.com/b01c67olc Contraseña: 74k5
https://yxmiaoyu.lanzous.com/b01c67olc
密码:74k5

Introducción básica

Arquitectura de tres niveles

Inserte la descripción de la imagen aquí

La arquitectura del software consiste en capas de software.

Arquitectura en capas

Se refiere a la separación de los componentes del sistema en diferentes capas, y los componentes de cada capa deben mantener la cohesión; cada capa debe acoplarse libremente con las capas debajo de ella.

  • El principio es alta cohesión y bajo acoplamiento
    . Cohesión: altamente correlacionada dentro de la clase.
    Acoplamiento suelto: la correlación entre capas no debe ser demasiado cercana, y no es fácil de modificar si es demasiado dependiente

Capa de persistencia

Para separar los detalles del acceso a los datos de la lógica empresarial, el acceso a los datos se puede utilizar como una capa de persistencia separada.

Inserte la descripción de la imagen aquí

Resistencia

Estado transitorio : los datos del programa guardados en la memoria, después de que el programa sale, los datos desaparecen, lo que se denomina estado transitorio.
Estado persistente : los datos del programa guardados en la base de datos (disco), después de que el programa sale, los datos aún existen, lo que se denomina estado persistente de los datos del programa.
Persistencia : mecanismo para convertir datos de programa entre estado transitorio y estado persistente.

狭义的理解:  “持久化”指把内存中的对象存储到关系型数据库
广义的理解:  “持久化” 包括和数据库相关的各种操作,保存、更新、删除、加载、查询

持久化层:   持久化层封装了数据访问细节,为业务逻辑层提供面向对象的API,
			使业务逻辑层可以专注于实现业务逻辑

Correspondencia entre el patrón de diseño MVC y la estructura de cuatro capas

Inserte la descripción de la imagen aquí

Objetivos de diseño de la capa de persistencia:

  1. El código es altamente reutilizable y puede completar operaciones de persistencia de objetos;
  2. Si es necesario, puede admitir múltiples plataformas de bases de datos;
  3. Con relativa independencia, cuando cambia la capa de persistencia, no afectará la implementación de la capa superior.

Modelo de software

Fase de análisis, creación de modelo conceptual,
fase de diseño, creación de modelo de dominio y modelo de datos
Inserte la descripción de la imagen aquí

Modelo conceptual

  1. Los modelos conceptuales se utilizan para simular entidades reales en el dominio del problema.
  2. El modelo conceptual describe los conceptos y atributos de cada entidad, así como las relaciones entre entidades. (Cuáles son las entidades, atributos y las relaciones entre ellos)
  3. El modelo conceptual no describe el comportamiento de la entidad.

Inserte la descripción de la imagen aquí

Modelo de datos relacionales

El modelo de datos relacionales se establece a partir del modelo conceptual y se utiliza para describir la estructura estática de estos datos relacionales y consta de los siguientes contenidos:

  1. Una o más tablas;
  2. Integridad referencial entre tablas; (clave externa)
  3. Todos los índices de la tabla;
  4. desencadenar;
  5. vista.

Modelo de dominio

El modelo de dominio está orientado a objetos En términos de orientación a objetos, el modelo de dominio también se puede llamar modelo de diseño.
El modelo de dominio consta de lo siguiente:

  1. Objetos de dominio con estado y comportamiento;
  2. La relación entre los objetos de dominio.
    Inserte la descripción de la imagen aquí

Objeto de dominio

Los objetos de dominio pueden representar personas, lugares, cosas o conceptos en el dominio empresarial. Los objetos de dominio se dividen en las siguientes categorías:

  1. Objeto de dominio de entidad: el término del dominio comercial;
  2. Objetos del dominio de proceso: verbos en el dominio empresarial;
  3. Objetos del dominio de eventos: eventos en el dominio empresarial.
    Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Hay muchos desajustes entre el modelo de dominio y el modelo relacional

  1. Hay relaciones de herencia en el modelo de dominio y el modelo relacional no puede expresar directamente la relación de herencia.
  2. Hay asociaciones de muchos a muchos en el modelo de dominio y el modelo relacional expresa las asociaciones de muchos a muchos uniendo tablas.
  3. Hay relaciones de asociación bidireccionales en el modelo de dominio, y el modelo de relación solo tiene relaciones de referencia unidireccionales, y el lado de muchos siempre se refiere al lado único.
  4. El modelo de dominio aboga por el modelo de grano fino y el modelo relacional aboga por el modelo de grano grueso.

Mapeo relacional de objetos-ORM

El mapeo relacional de objetos (ORM) se produce con el desarrollo de métodos de desarrollo de software orientados a objetos. Se utiliza para mapear los objetos representados por el modelo de dominio con la estructura de la base de datos correspondiente al modelo de datos relacionales.

Cuando opera objetos de entidad a través del modo ORM, no necesita lidiar con sentencias SQL complejas. Solo necesita simplemente manipular los atributos y métodos de los objetos de entidad. La tecnología ORM proporciona un puente entre los objetos y las relaciones. Tipo de objeto Datos y datos relacionales en la base de datos se transforman entre sí a través de este puente.
Inserte la descripción de la imagen aquí

Ampliar el conocimiento

Para separar la lógica empresarial y los detalles de acceso a datos en el programa, han surgido varios patrones prefabricados en el campo de Java.

Modo de dominio activo, modo JDO, modo CMP, modo ORM, etc.

El modo ORM se refiere a la persistencia de todos los objetos de dominio de entidad en un solo componente y la encapsulación de los detalles de acceso a los datos. Siempre que la relación de mapeo entre la clase persistente y la tabla esté configurada, el middleware ORM puede hacer referencia a la información del archivo de mapeo en tiempo de ejecución para conservar los objetos de dominio en la base de datos.

ORM proporciona otro modo para implementar la capa de persistencia. Utiliza metadatos de mapeo para describir los detalles del mapeo relacional de objetos. Sí, el middleware ORM puede actuar como un puente entre la capa de lógica empresarial de cualquier aplicación Java y la base de datos. El principal problema resuelto por ORM es el mapeo relacional de objetos. El modelo de dominio está orientado a objetos, mientras que el modelo relacional está orientado a relaciones Generalmente, una clase persistente corresponde a una tabla y cada instancia de la clase corresponde a un registro en la tabla. La siguiente tabla enumera el mapeo básico entre conceptos orientados a objetos y conceptos orientados a relaciones.

JDBC es engorroso, complicado de modificar, código redundante y mucha repetición.

Hibernar

Hibernate se encuentra en la capa de persistencia en la arquitectura en capas, que es el marco de la capa de persistencia para la persistencia de objetos;

Hibernate es un framework que conecta aplicaciones Java y bases de datos relacionales, puede establecer un mapeo entre un modelo de objetos y un modelo de datos relacionales, es un framework ORM automático;

Hibernate es una encapsulación de la API de JDBC y un marco de encapsulación de JDBC ligero.

La base de datos operativa en Java solo tiene JDBC

¿Qué nos puede aportar Hibernate?

  1. Hibernate implementa ORM, que permite a los programadores de Java utilizar fácilmente ideas de programación orientadas a objetos para manipular bases de datos relacionales;

  2. Hibernate es una encapsulación de JDBC, que mejora la reutilización del código, simplifica el código y mejora la eficiencia de la programación;

  3. Hibernate es una encapsulación ligera de JDBC Si es necesario, los programadores de Java pueden omitir Hibernate y acceder directamente a la API de JDBC;

  4. Hibernate se puede usar no solo en programas Java independientes, sino también en proyectos Web Java, se puede integrar con múltiples servidores web y es compatible con múltiples plataformas de bases de datos.

Supongo que te gusta

Origin blog.csdn.net/qq_44627608/article/details/114266355
Recomendado
Clasificación