1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Problemas ao Cadastrar com Hibernete

Olá Pessoal, Estou com um problema ao cadastrar um objeto no banco de dados 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 não consigo achar uma solução, se alguém souber de uma, por favor me responda pois é um trabalho da faculdade :)

Desde já agradeço a todos!

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 Integer idEmpresa;
    @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

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

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);
            session.getTransaction().commit();

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

}

UsuarioEmpresaDao

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


        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. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java java-ee javadoc hibernate jsf ou faça a sua própria pergunta.