Estou me depandado com o seguite erro no curso de https://cursos.alura.com.br/course/spring-mvc-thymeleaf-bootstrap/task/80881
Estou me depandado com o seguite erro no curso de https://cursos.alura.com.br/course/spring-mvc-thymeleaf-bootstrap/task/80881
Bom dia,
Conforme a mensagem de erro, seu import de User no arquivo PedidoController está errado. Vc está importando o User do pacote do org.springframework.security.core.userdetails.User, ao invés do seu User que está em br.com.alura.mvc.mudi.model.User.
Neste caso, basta ajustar o import da sua entidade User para resolver o problema.
Oi Leobaldo! Tudo bem?
Na sua classe UserRepository, o User importado também está diferente da classe que você criou no projeto, de uma forma parecida com a que conversamos num outro tópico, se não me engano.
Você precisa utilizar lá em cima da classe UserRepository, no lugar de import org.springframework.security.core.userdetails.User
, o import import br.com.alura.mvc.mudi.model.User
. Assim, o problema de incompatibilidade de tipos que você está tendo vai ser resolvido.
Qualquer dúvida, estou à disposição!
sobre esse erro conseguir solucionar o org.springframework.security.core.userdetails.User estava sendo importado na classe pedido. Agora estou com esses erros :
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pedidoRepository' defined in br.com.alura.mvc.mudi.repository.PedidoRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaMappingContext' while setting bean property 'mappingContext'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: br.com.alura.mvc.mudi.controller.HomeController
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: br.com.alura.mvc.mudi.controller.HomeController
Caused by: org.hibernate.AnnotationException: No identifier specified for entity: br.com.alura.mvc.mudi.controller.HomeController
package br.com.alura.mvc.mudi.controller; import br.com.alura.mvc.mudi.model.Pedido; import br.com.alura.mvc.mudi.model.StatusPedido; import br.com.alura.mvc.mudi.repository.PedidoRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping;
import javax.persistence.Entity; import java.security.Principal; import java.util.List; @Entity @Controller @RequestMapping("/home") public class HomeController {
@Autowired
private PedidoRepository pedidoRepository;
@GetMapping
public String home(Model model, Principal principal) {
List<Pedido> pedidos = pedidoRepository.findAllByUsuario(principal.getName());
model.addAttribute("pedidos", pedidos);
return "home";
}
@GetMapping("/{status}")
public String porStatus(@PathVariable("status") String status, Model model) {
List<Pedido> pedidos = pedidoRepository.findByStatus(StatusPedido.valueOf(status.toUpperCase()));
model.addAttribute("pedidos", pedidos);
model.addAttribute("status", status);
return "home";
}
@ExceptionHandler(IllegalArgumentException.class)
public String onError() {
return "redirect:/home";
}
}