Olá, criei a tabela usuario mas não consigo salvar um email e senha nela.
package com.ifsp.MyHeroTraining.Models;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@Entity
@Table(name ="usuario")
public class Usuario implements UserDetails
{
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String nome;
private String email;
private String senha;
public Usuario() {
this.id = id;
this.nome = nome;
this.email = email;
this.senha = senha;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmailUsuario(String email) {
this.email = email;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
private static final long seriaVersionUID = 1L;
;
@ManyToMany(fetch = FetchType.EAGER)
private List<Perfil> perfils = new ArrayList<>();
public Usuario(String email, String senha) {
this.email = email;
this.senha = senha;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return this.perfils;
}
@Override
public String getPassword() {
return this.senha;
}
@Override
public String getUsername() {
return this.email;
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
}
//controller
package com.ifsp.MyHeroTraining.Controllers;
import com.ifsp.MyHeroTraining.Forms.UsuarioForms;
import com.ifsp.MyHeroTraining.Models.Usuario;
import com.ifsp.MyHeroTraining.repository.UsuarioRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.util.UriComponentsBuilder;
import javax.validation.Valid;
@RestController
@RequestMapping("/usuario")
public class UsuarioController {
@Autowired
private UsuarioRepository usuarioRepository;
@PostMapping
public void CadastroUsuarioLogin(@RequestBody @Valid UsuarioForms usuarioForms, UriComponentsBuilder uriComponentsBuilder) {
Usuario usuario = usuarioForms.converterUsua();
//falta salvar tbm no usuario repository para que possa ser feito o login com autenticacao
usuarioRepository.save(usuario);
}
}
erro ;dataintegrityviolationexception