Tres paradigmas declaraciones Asuntos JPQL experiencia bloqueo optimista Bloqueo pesimista concurrencia base de datos JPA

1 JPQL

1.1 ¿Qué es JPQL

JPQL: JPA es un lenguaje de consulta proporcionado, de forma similar a SQL.

1,2 JPQL y diferenciada sql

(1) JPQL dentro del objetivo de la operación y el objeto atributos mesas de operaciones SQL y columnas de tabla dentro de la caja sensibles

(2) no puede aparecer en el interior de JPQL *, nombre de la tabla no puede aparecer

(3) JPQL sql y son las mismas palabras clave, palabras clave son sensibles a mayúsculas

1.3 sintaxis JPQL

sintaxis SQL:

select *

de la mesa

donde las condiciones de filtro

grupo por la condición de agrupación

avg después de tener paquete filtrado (puntuación)> 98

ordenado por pedido

JPQL similares

seleccione o.name, o (atributo de objeto)

O de la clase de la clase de Ingreso O. dentro de nombre de atributo p

donde o. Nombre del atributo

GROUP BY o. Nombre del atributo

ordenado por

...

1.4 JPQL que unen

SQL: vínculo de consulta

Conexión externa: la conexión se divide en externa izquierda (tabla de la izquierda y la intersección de todos los datos debe contener la parte derecha de la tabla.) y una conexión externa derecha (y viceversa) dejó unirse a unirse a la derecha

Es: datos sobre la porción de intersección se unen

JPQL:

O seleccione de Empleado o unirse o.department d

1,5 funciones de agregado - y el mismo sql

SQL: encontrar los siguientes valores para un conjunto de datos

contar el número de registros que buscan buscando la máxima suma suma mínima y máxima promedio de promedio para el mínimo

1 5 6 8 2 -> recuento 5 max 8 min 1 suma 22 avg 22/5

Con el uso de grupo a grupo

1.6 sub-consultas - y como SQL

subconsulta:

Como resultado de una consulta o una tabla de consultas más sobre el estado usado

Subconsulta: una consulta anidada

select p from Employee p where p.salary > (select avg(o.salary) from Employee o)

1.7 colección utilización JPQL

Puede usarse un tamaño determinado valor

select o from Project o where o.employees.size = 0

1.8 Paging

sintaxis SQL:

seleccionar * de la tabla donde límite beginIndex, pageSize

currentPage: Página actual

PageSize: el número de la página

beginIndex: posición de partida beginIndex = (currentPage-1) * pageSize

PageSize: el número de la página

seleccionar * de la tabla donde límite de 0,5

seleccionar * de la tabla donde límite de 5,5

2 de soporte de SQL

para SQL

Usando este método

createNativeQuery

3 concurrencia transacción

3.1 ¿Qué es una transacción

transacción

Servicios: un conjunto de operaciones lógicas o bien todos tienen éxito o fracasan (con la muerte total)

3.2 ¿Cuáles son las características de la operación (ACID)

La atomicidad: Un

Esta operación es una operación que tiene una unidad mínima, no se puede dividir de nuevo

Consistencia: C

La misma cantidad de consistencia de los datos, antes de la operación, la cantidad total de 10.000, y después de completar la operación, la cantidad total de 10 000

Aislamiento hoy :() I

Reflejar más de dos operaciones de asuntos, debe tener aislamiento entre transacciones, la transacción no puede operar mi negocio, si opera ocurren mis transacciones comerciales, que traerá el tema de las transacciones simultáneas

Persistencia: D

Cuando cometemos una transacción presentó datos sobre la presencia permanente hacia abajo

3.3 Transacción de concurrencia

concurrencia de transacciones:

Una pluralidad de transacción (o dos o más de la transacción),Al mismo tiempoen funcionamientoLos mismos datosTiempo, este fenómeno se conoce como transacciones simultáneas

concurrencia transacción traerá algunos problemas: - solucionado a través de mecanismo de aislamiento de base de datos

La primera aparece actualización perdidos - Mangos

La segunda categoría no se encuentra Actualización - manijas

Sucia de lectura - mecanismo de aislamiento de base de datos

Los residuos (grados Magic) - mecanismo de aislamiento de base de datos

No repetible de lectura - mecanismo de aislamiento de base de datos

mecanismo de aislamiento 3.4 base de datos

cuatro tipos

La lectura no confirmada (lectura no confirmada) Leer Fantasía (ficticia de lectura), se repite la lectura y permitir que las lecturas sucias.

Lectura confirmada permitir la fantasía para leer, lectura no repetible, no permiten lectura sucia

REPETIBLE LEER permitió leer la fantasía, no permita que las lecturas sucias y lectura no repetible

fantasía SERIALIZABLE lee, lecturas no repetibles y las lecturas sucias no están permitidos - rendimiento sin duda se convierten en baja

3.5 La primera y segunda categorías se pierdan las actualizaciones

mecanismo de bloqueo

Bloqueo pesimista: cerraduras muy pesimistas tienen que esperar a una liberación del bloqueo, con el fin de manipular datos, el rendimiento no es alto

El bloqueo optimista: hay necesidad de esperar, después de que el número de versión de la necesidad subyacente para controlar la primera modificación, el cambio de número de versión, la segunda persona no pueda funcionar para este producto

reglas de uso 4JPA o experiencia

. \ 1 bidireccional muchas asociación, no una sola vía a muchos - un poco alta eficiencia

. \ 2 unidireccional flexible de una asociación - partes de clave externa para mantener un alto punto de eficiencia

\ 3. No uno a uno, con varios a sustituir (no utilice un compartieron una clave primaria, clave externa con un único a uno)

\ 4. El secundario objeto de configuración de la memoria caché (configuración cacheable), caché de consultas (JPQL consulta),

No se consulta sólo utilizar la caché de consultas (un éxito si las condiciones son muy bajos)

caché de consultas:

entityManager EntityManagerFactory diferente mismo misma misma transmisión valores de condiciones JPQL

\ 5 relación combinando establece la lista (secuencia de repetición) - Los segundos módulos documento del proyecto, muchos-a-uso conjunto de recopilación

\ 6. mesa de diseño, el campo de tabla menos, no se mesa miedo asociado con el soporte de cache secundaria, mesa de diseño lo más lejos posible para alcanzar el tercer paradigma (clave externa)

paradigma de la base de datos: reglas de base de datos

1NF: tiempo de diseño, que tratar de asegurar que la tabla no puede almacenar una pluralidad de valores de columna, una columna unidad mínima, no puede ser dividido - cuerpo Serie atómica

2NF: dentro de cada fila de la tabla de datos debe tener un valor único se pueden distinguir, se recomienda crear una clave principal

3NF: La tabla no debe ser almacenado dentro de otra información clave no primaria en una tabla - Te sugiero una clave externa

Publicado 23 artículos originales · ganado elogios 2 · Vistas 938

Supongo que te gusta

Origin blog.csdn.net/metjoyful/article/details/101197870
Recomendado
Clasificación