Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Uso de JPQL en anotación query

20/31
Recursos

Aportes 9

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

En este putno tuve eun error al correr el código que se debía a que no había agregado el constructor vacio en la entidad User.

Consejo

para iterar una lista utilicen el método forEach directamente de la lista y no desde un stream

Pueden resumir el forEach de la siguiente manera:

userRepository.findAndSort("J", Sort.by("id").descending())
				.stream()
				.forEach(LOGGER::info);

Dentro de getInformationJpqlFromUser si estas trabajando arriba de java 9 podes usar esta forman:

this.userRepository.findByName("braian").ifPresentOrElse(
	user -> System.out.println("User: "+user.getName())
	,()-> System.out.println("No existe el usuario")
);

Asegúrense de no poner varios usuarios con el mismo email de lo contrario tendrán un error.

También se puede hacer la consulta de esta manera
el “findBy” nos permite hacer la consulta seguido de el campo por el cual vamos a buscar en este caso “email” y si queremos buscar por nombre he email podría escribirse de esta manera
@Query
Optional<User> findByNameAndEmail(String name, String email);

@Query
Optional<User> findByEmail(String email);

En esta clase mi código me lanzaba un error al momento de correrlo y el error me decía algo de que tenía error al con el Bean de la clase User. al mirar me di cuenta el @Id se importaba desde una librería diferente. la librería desde la cual no lanza error es:
import javax.persistence.*;

Excelente explicación de JPQL!

Le puse a la funcion para poder pasarle el email como parametro:

private void getInformationJpqlFromUser(String email){
		LOGGER.info("USUARIO 1 CON QUERY JPQL" + userRepository.findByUserEmail(email));
}

		getInformationJpqlFromUser("[email protected]");