Estou tentando adicionar um "convidado" , porém esta dando esse seguinte erro
Um convidado possui:-id -nome -telefone -email
erro:
java.sql.SQLException: Field 'id' doesn't have a default value
Eu achei estranho esse erro, pois ele não encontrou o id de cliente, porém um id tem que ser gerado e não inserido manualmente. Alguem poderia me ajudar?
Obrigado !
Cadastro:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<title>Adicionar Convidados - Spring Boot</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"/>
</head>
<body>
<form action="salvar" method="POST">
<div class="form-group">
<label>Nome</label>
<input type="text" class="form-control" name="nome" placeholder="Insira o nome"/>
</div>
<div class="form-group">
<label>Email</label>
<input type="email" class="form-control" name="email" placeholder="Insira o email"/>
</div>
<div class="form-group">
<label>Telefone</label>
<input type="text" class="form-control" name="telefone" placeholder="Insira o telefone"/>
</div>
<button type="submit" class="btn btn-primary">Adicionar</button>
</form>
</body>
</html>
Controller:
package br.com.alura.listavip.controller;
import br.com.alura.listavip.model.Convidado;
import br.com.alura.listavip.repository.ConvidadoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
/**
* Created by pedro-ramalho on 01/04/18.
*/
@Controller
public class ConvidadoController {
@Autowired
private ConvidadoRepository repository;
@RequestMapping("/")
public String index(){
return "index";
}
@RequestMapping("/listavip")
public String listaConvidados(Model model){
Iterable<Convidado> convidados = repository.findAll();
model.addAttribute("convidados",convidados);
return "listaconvidados";
}
@RequestMapping("/adicionarConvidado")
public String adicionarConvidado(){
return "adicionar-convidados";
}
@RequestMapping(value = "salvar", method = RequestMethod.POST)
public String salvar(@RequestParam("nome") String nome,@RequestParam("email") String email,@RequestParam("telefone") String telefone){
Convidado novoConvidado = new Convidado(nome,email,telefone);
repository.save(novoConvidado);
return "listaconvidados";
}
}
Convidado:
package br.com.alura.listavip.model;
import javax.annotation.Generated;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
* Created by pedro-ramalho on 03/04/18.
*/
@Entity(name="tb_convidado")
public class Convidado {
@Id
@GeneratedValue
private Long id;
private String nome;
private String email;
private String telefone;
public Convidado(){
}
public Convidado(String nome,String email,String telefone){
super();
this.nome = nome;
this.email = email;
this.telefone = telefone;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}