Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Ayuda todo mi codigo fallo por el forEach

Esta haciendo el codigo que el profesor indica para usar el metodo forEach y me salió el mensaje de Lambda expressions are allowed only at source level 1.8 or above, le di click pensando que iba a solucionar ese error, pero ahora todo mi código no funciona, como podria regresar a la version anterior o corregir esto?

package com.latam.alura.tienda.prueba;

import java.math.BigDecimal; import java.util.List;

import javax.persistence.EntityManager;

import com.latam.alura.tienda.dao.CategoriaDao; import com.latam.alura.tienda.dao.ProductoDao; import com.latam.alura.tienda.modelo.Categoria; import com.latam.alura.tienda.modelo.Producto; import com.latam.alura.tienda.utils.JPAUtils;

public class RegistroDeProducto {

public static void main(String[] args) {
    
    registrarProducto();
    EntityManager em = JPAUtils.getEntityManager();
    ProductoDao productoDao = new ProductoDao(em);
    Producto producto = productoDao.consultaPorId(3L);
    System.out.println(producto.getNombre());
    
    List<Producto> productos = productoDao.consultarTodos();
    productos.forEach(prod -> System.out.println(prod.getDescripcion()));  //Aquí se genero el error de Lambda
                 
}

private static void registrarProducto() {
    Categoria celulares = new Categoria("CELULARES");
    
    Producto celular = new Producto("Xioami Redmi", "Muito legal", new BigDecimal("800"), celulares);
    
    EntityManager em = JPAUtils.getEntityManager();
    
    ProductoDao productoDao = new ProductoDao(em);
    CategoriaDao categoriaDao = new CategoriaDao(em);
    
    em.getTransaction().begin();
    
    categoriaDao.guardar(celulares);
    productoDao.guardar(celular);
    
    em.getTransaction().commit();
    em.close();
}

}

2 respuestas

Tuve que volver a crear un archivo Maven desde cero, pero ahora sigo con el problema original de lambda. Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

solución!

Ya lo solucioné tuve que buscar otra forma de realizar el forEach:

for (Producto prod : productos) { System.out.println(prod.getDescripcion()); }