Consultas JPQL básicas

Código
Básico
Hibernate
Curso de Hibernate
10 min
150 XP
Actualizado: 14/02/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Ejercicio de programación: Consultas JPQL básicas

Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en Hibernate. Es un ejercicio básico perfecto para principiantes que están aprendiendo los fundamentos.

Tipo: Ejercicio de código 10 minutos estimados 150 puntos de experiencia

Información adicional del ejercicio

Este reto pondrá a prueba tu conocimiento de consultas básicas con JPQL, requiriendo el uso de SELECT, WHERE y ORDER BY, así como saber recuperar campos concretos en las consultas de entidades.

Contenido del ejercicio

Estás trabajando con una base de datos que gestiona una librería. Existe una entidad llamada Libro ya creada que contiene información sobre diferentes libros. Esta entidad tiene los siguientes campos:

  • id: Un número único que identifica cada libro (tipo Long).
  • titulo: El título del libro (tipo String).
  • autor: El autor del libro (tipo String).
  • anioPublicacion: El año en que el libro fue publicado (tipo Integer).
  • precio: El precio del libro (tipo Double).

Crear un archivo LibreriaConsultas.java que realice las siguientes operaciones utilizando JPQL y un EntityManager:

  1. Obtener todos los libros de un autor específico.
  2. Encontrar todos los libros publicados antes del año 2000, ordenados por año de publicación de manera ascendente.
  3. Obtener el título y precio de todos los libros, ordenados por precio de manera descendente.

Las consultas deben ser realizadas utilizando JPQL. Asume que el EntityManager ya está configurado para poder llamar entityManager.createQuery directamente.

Puedes utilizar la siguiente plantilla como base:

import jakarta.persistence.EntityManager;
import jakarta.persistence.Query;
import java.util.List;

public class LibreriaConsultas {

    private EntityManager entityManager;

    public LibreriaConsultas(EntityManager entityManager) {
        this.entityManager = entityManager;
    }

    // Consulta 1: Obtener todos los libros de un autor específico
    public List<Libro> obtenerLibrosPorAutor(String autor) {
        
    }

    // Consulta 2: Encontrar todos los libros publicados antes del año 2000, ordenados por año de publicación de manera ascendente
    public List<Libro> encontrarLibrosAntesDe2000() {
        
    }

    // Consulta 3: Obtener el título y precio de todos los libros, ordenados por precio de manera descendente
    public List<Object[]> obtenerTituloYPrecioDeLibros() {
        
    }
}

Lección relacionada

Este ejercicio está relacionado con la lección "Consultas JPQL básicas" de Hibernate. Te recomendamos revisar la lección antes de comenzar.

Ver lección relacionada

Más ejercicios de Hibernate

Explora más ejercicios de programación en Hibernate para mejorar tus habilidades y obtener tu certificación.

Ver más ejercicios de Hibernate

Solución al ejercicio de programación en Hibernate

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en Hibernate para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en Hibernate

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en Hibernate

⭐⭐⭐⭐⭐
4.9/5 valoración