Red de conocimiento informático - Problemas con los teléfonos móviles - La consulta de múltiples tablas de Springdata ENTITY se puede escribir así

La consulta de múltiples tablas de Springdata ENTITY se puede escribir así

La consulta de tablas múltiples de Springdata se puede escribir así

1: Escribir clase o interfaz DAO

La clase/interfaz DAO debe ser heredada

Vista [java] copia simple

p>

interfaz pública JpaSpecificationExecutor&.lt;T>

Interfaz;

Si necesita paginación, también necesita heredar

[java] ver copia simple

interfaz pública PagingAndSortingRepository extiende CrudRepository

Interfaz.

2.

[java ] Ver copia pura

Interfaz pública JpaSpecificationExecutor

Esta interfaz tiene

[java] Ver copia pura

Página findAll(Specification spec, Pageable pageable); //Paginación por condición

List findAll(Specification

Métodos Podemos llamar a estos dos métodos desde la capa de servicio.

Ambos métodos tienen parámetros de especificación Especificación para establecer condiciones de consulta.

Ejemplo de llamada de consulta de paginación de servicio + condiciones múltiples:

[java] ver copia simple

studentInfoDao.findAll(nueva especificación () {

p>

public Predicate toPredicate(Root root,

CriteriaQuery consulta, CriteriaBuilder cb) {

Ruta namePath = root.get(" nombre");

Ruta apodoPath = root.get("apodo"

/**

*); Condiciones de consulta de conexión, los parámetros no están bien, se pueden conectar 0..N condiciones de consulta

*/

query.where(cb.like(namePath, "%Lee%") , cb.like(nicknamePath, "%King %")); //Cualquier condición de consulta se puede establecer aquí

return null

}

} .

}, page);

}

}

El método like de CriteriaBuilder crea aquí dos condiciones de consulta: el campo de nombre debe contener "Lee", el campo del apodo debe contener "Wang".

Luego puede ver copias simples a través de

[java]

CriteriaQuery donde(Predicate... restricciones

< p); >CriteriaQuery donde(Predicado... restricciones);

Simplemente conecte múltiples condiciones de consulta. Este método utiliza la API JPA para establecer las condiciones de consulta, por lo que no es necesario devolver el predicado de la condición de consulta a Spring Data Jpa, por lo que al final se puede devolver nulo;