Boas colegas. Estou a seguir um curso de relacionado com desenvolvimento de sistemas utlizando o spring mvc com thymeleaf, mas deparei me com um um erro ao tentar salvar um registo, na consola não mostra a descrição do erro. Abaixo deixo a imagem do erro no navegador, log e o controller. Como poderei resolver o erro?
Imagem do erro:
Log:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.8.RELEASE)
2019-09-23 15:55:29.978 INFO 15636 --- [ restartedMain] c.mballem.curso.boot.DemoMvcApplication : Starting DemoMvcApplication on LAPTOPLENOVO with PID 15636 (D:\workspace-spring-tool-suite-4-4.3.2.RELEASE\demo-mvc\target\classes started by Ayrton Pereira in D:\workspace-spring-tool-suite-4-4.3.2.RELEASE\demo-mvc)
2019-09-23 15:55:29.981 INFO 15636 --- [ restartedMain] c.mballem.curso.boot.DemoMvcApplication : No active profile set, falling back to default profiles: default
2019-09-23 15:55:30.517 INFO 15636 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2019-09-23 15:55:30.517 INFO 15636 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2019-09-23 15:55:31.392 INFO 15636 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2019-09-23 15:55:31.423 INFO 15636 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 23ms. Found 0 repository interfaces.
2019-09-23 15:55:31.828 INFO 15636 --- [ restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$1b56afda] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-09-23 15:55:32.218 INFO 15636 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2019-09-23 15:55:32.251 INFO 15636 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2019-09-23 15:55:32.251 INFO 15636 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.24]
2019-09-23 15:55:32.425 INFO 15636 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2019-09-23 15:55:32.426 INFO 15636 --- [ restartedMain] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1908 ms
2019-09-23 15:55:32.638 INFO 15636 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2019-09-23 15:55:37.101 INFO 15636 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2019-09-23 15:55:37.233 INFO 15636 --- [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2019-09-23 15:55:37.656 INFO 15636 --- [ restartedMain] org.hibernate.Version : HHH000412: Hibernate Core {5.3.11.Final}
2019-09-23 15:55:37.665 INFO 15636 --- [ restartedMain] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2019-09-23 15:55:38.293 INFO 15636 --- [ restartedMain] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
2019-09-23 15:55:38.597 INFO 15636 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
Hibernate: alter table cargos add constraint FKtjl420ddyfp607dq6vo67blqi foreign key (id_departamento_fk) references departamentos (id)
Hibernate: alter table funcionarios add constraint FKo4oltd663g3w8cd4iiw5ggina foreign key (cargo_id_fk) references cargos (id)
Hibernate: alter table funcionarios add constraint FK3qpeu6e4lxnghbisl8hwqm0oe foreign key (endereco_id_fk) references enderecos (id)
2019-09-23 15:55:41.181 INFO 15636 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-09-23 15:55:41.233 INFO 15636 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2019-09-23 15:55:41.597 INFO 15636 --- [ restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2019-09-23 15:55:42.191 INFO 15636 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2019-09-23 15:55:42.196 INFO 15636 --- [ restartedMain] c.mballem.curso.boot.DemoMvcApplication : Started DemoMvcApplication in 12.666 seconds (JVM running for 14.545)
2019-09-23 15:56:36.413 INFO 15636 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-09-23 15:56:36.414 INFO 15636 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2019-09-23 15:56:36.425 INFO 15636 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 11 ms
2019-09-23 15:56:51.010 INFO 15636 --- [nio-8080-exec-9] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory
Hibernate: select cargo0_.id as id1_0_, cargo0_.id_departamento_fk as id_depar3_0_, cargo0_.nome as nome2_0_ from cargos cargo0_
Hibernate: select departamen0_.id as id1_1_0_, departamen0_.nome as nome2_1_0_ from departamentos departamen0_ where departamen0_.id=?
Hibernate: select departamen0_.id as id1_1_0_, departamen0_.nome as nome2_1_0_ from departamentos departamen0_ where departamen0_.id=?
controller:
@Controller
@RequestMapping("/funcionarios")
public class FuncionarioController {
//dependencias
@Autowired
private FuncionarioService funcionarioService;
@Autowired
private CargoService cargoService;
@RequestMapping("/cadastrar")
public String cadastrar(Funcionario funcionario) {
return "/funcionario/cadastro";
}
@RequestMapping("/listar")
public String listar() {
return "/funcionario/lista";
}
@PostMapping("/salvar")
public String salvar(Funcionario funcionario, RedirectAttributes attr) {
funcionarioService.salvar(funcionario);
attr.addFlashAttribute("success", "Funcionário inserido com sucesso");
return "redirect:/funcionarios/cadastrar";
}
@ModelAttribute("cargos")//variavel cargos
public List<Cargo> getCargos(){ //metodo responsavel por enviar registos de cargos disponiveis
return cargoService.buscarTodos();
}
@ModelAttribute("ufs")
public UF[] getUFs() { //metodo responsavel por enviar registos de cargos disponiveis
return UF.values();
}
}