Olá,
Estou criando uma aplicação e seguindo os passos do curso! Uma coisa que vem ocorrendo onde meu identificado da chave estrangeira id_empresa não está sendo preenchida pelo hibernate, ele preenche com um valor null, como mostrado na imagem ! Alguém já passou por este tipo de problemas?
CONTROLLER
@Controller
@RequestMapping("categoria")
public class CategoriaController {
@Autowired
private CategoriaDao c;
@RequestMapping(method=RequestMethod.POST)
public String adicionar(Categoria categoria,HttpSession s,HttpServletRequest request) {
Long idEmpresa = (Long) s.getAttribute("idEmpresa");
String nome = (String) request.getAttribute("nome");
System.out.println(nome);
c.Adicionar(categoria,idEmpresa);
return "includes/ok";
}
}
DAO
@Repository
@Transactional
public class CategoriaDao {
@PersistenceContext
private EntityManager manager;
public void Adicionar(Categoria cat,Long idEmpresa) {
Empresa empresa = manager.find(Empresa.class, idEmpresa);
List<Categoria> lCategoria = empresa.getCategoria();
lCategoria.add(cat);
empresa.setCategoria(lCategoria);
}
}
MODEL EMPRESA
package br.com.ugear.models;
@Entity
public class Empresa {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String nome;
private String cnpj;
private String tel;
private String cel;
private String email;
private String cidade;
private String estado;
private String rua;
private String bairro;
private String cep;
@OneToMany(mappedBy="empresa",cascade = CascadeType.ALL)
private List<Usuario> usuario;
@OneToMany(mappedBy="empresa",cascade = CascadeType.ALL)
private List<Categoria> categoria;
public List<Categoria> getCategoria() {
return categoria;
}
public void setCategoria(List<Categoria> categoria) {
this.categoria = categoria;
}
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 getCnpj() {
return cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getCel() {
return cel;
}
public void setCel(String cel) {
this.cel = cel;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public List<Usuario> getUsuario() {
return usuario;
}
public void setUsuario(List<Usuario> usuario) {
this.usuario = usuario;
}
}
MODEL CATEGORIA
@Entity
public class Categoria {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String nome;
@OneToMany
private List<Subcategoria> subcategoria;
@OneToMany
private List<Conteudo> conteudo;
@ManyToOne
private Empresa empresa;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
public void setNome(String nome) {
this.nome = nome;
}
public List<Conteudo> getConteudo() {
return conteudo;
}
public void setConteudo(List<Conteudo> conteudo) {
this.conteudo = conteudo;
}
public List<Subcategoria> getSubcategoria() {
return subcategoria;
}
public void setSubcategoria(List<Subcategoria> subcategoria) {
this.subcategoria = subcategoria;
}
}