Javafree
Página Inicial do Fórum > Frameworks, APIs e IDE's

Problemas ao cadastrar com Hibernate



Criar novo tópico   Responder tópico


  1. Josivan777
    Posts:1


    Comment Arrow

    Publicado em: 05/06/2015 23:46:19

    Olá Pessoal, Estou com um problema ao cadastrar um objeto no bancado através do hibernate, quero cadastrar os dados da empresa na tabela empresa e os dados de usuário na tabela usuario, só que aparece o seguinte erro:
    java.lang.Integer cannot be cast to br.com.tecrh.cadastro.entities.Empresas

    eu acredito que seja problema na hora de converter o retorno do session.save(entity) para o tipo empresa nessa parte do código:


    Empresas empresa = (Empresas) session.save(entity);



    Tento pegar esse retorno no controller


    Empresas empresa = dao.save(empresas); // tento pegar o retorno

    usuarioEmpresa.setEmpresa(empresa); // seto a empresa pra preencher o idEmpresa na classe UsuarioEmpresa
    userDao.save(usuarioEmpresa); // e por fim tento cadastrar



    Mas ao fazer isso me da aquele erro


    java.lang.Integer cannot be cast to br.com.tecrh.cadastro.entities.Empresas



    Segue as entidades envolvidas:

    #Entidade - Empresa


    // imports
    @Entity
    public class Empresas {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int idEmpresa;
    @Column(nullable = false)
    private int idEstado;
    @Column
    private String razaoSocial;
    @Column
    private String nomeFantasia;
    @Column
    private String cnpj;
    @Column
    private String inscricaoEstadual;
    @Column
    private String endereco;
    @Column
    private String numero;
    @Column
    private String complemento;
    @Column
    private String cep;
    @Column
    private String bairro;
    @Column
    private String cidade;
    @Column
    private String email;
    @Column
    private String telefone;
    @Column
    private String celular;

    @ManyToOne(optional = false, fetch = FetchType.EAGER)
    @JoinColumn(name = "idEstado", referencedColumnName = "idEstado", insertable = false, updatable = false)
    private Estado estado;

    // getters and setters



    #Entidade - UsuarioEmpresa


    //imports
    @Entity
    public class UsuarioEmpresa implements Serializable {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer idUsuEmpresa;
    @Column
    private String login;
    @Column
    private String senha;

    @ManyToOne(optional = false, fetch = FetchType.EAGER)
    @JoinColumn(name = "idEmpresa", referencedColumnName = "idEmpresa", insertable = false, updatable = false)
    private Empresas empresa;

    // getters and setters



    #Entidade - EmpresaController -> método Salvar()


    public class EmpresaController {
    private Empresas empresas = new Empresas();
    private UsuarioEmpresa usuarioEmpresa = new UsuarioEmpresa();
    private Estado estado = new Estado();
    private DataModel<Empresas> empresa;
    private DataModel<Estado> estados;
    private String msg;
    private String msgError = "";

    public String salvar() throws Exception {
    EmpresaDao dao = new EmpresaDao();
    UsuarioEmpresaDao userDao = new UsuarioEmpresaDao();
    if (this.empresas.getIdEmpresa() == 0) {
    try {
    Empresas empresa = dao.save(empresas);

    usuarioEmpresa.setEmpresa(empresa);
    userDao.save(usuarioEmpresa);

    this.msg = "Empresa cadastrada com sucesso! Efetue o login.";
    return "loginUsuario";
    } catch (Exception e) {
    this.msgError = "Falha ao cadastrar empresa: " + e.getMessage();
    e.printStackTrace();
    }
    } else {
    try {
    dao.update(empresas);
    this.msg = "Alteração realizada com sucesso!";
    } catch (Exception e) {
    this.msgError = "Falha na alteração: " + e.getMessage();
    e.printStackTrace();
    }
    }
    this.empresas = new Empresas();
    this.empresa = null;
    return null;
    }
    // getters and setters



    #Entidade - EmpresaDAO


    public class EmpresaDao {
    private Session session = HibernateSession.getSession();

    public Empresas save(Empresas entity) throws Exception {
    try {
    session.beginTransaction();
    Empresas empresa = (Empresas) session.save(entity); // aqui onde tento fazer um cast para o tipo empresa mas dar esse erro que não sei como resolver
    session.getTransaction().commit();

    return empresa;
    } catch (Exception e) {
    session.getTransaction().rollback();
    e.printStackTrace();
    throw e;
    }
    }

    }


    #Entidade - UsuarioEmpresaDao


    public void save(UsuarioEmpresa entity) throws Exception {
    try {
    session.beginTransaction();
    session.save(entity);
    session.getTransaction().commit();

    } catch (Exception e) {
    session.getTransaction().rollback();
    e.printStackTrace();
    throw e;
    }
    }

    public void update(UsuarioEmpresa entity) throws Exception {
    try {
    session.beginTransaction();
    session.update(entity);
    session.getTransaction().commit();
    } catch (Exception e) {
    session.getTransaction().rollback();
    e.printStackTrace();
    throw e;
    }
    }
    }




  1. Relacionados