[RESOLVIDO]Gravar Registro Hibernate

Olá amigos, em um topico anterior consegui resolver quase todos os meus problemas com um crud. mais agora estou so com o Gravar do hibernate na minha classe DAO,

O ERRO É O SEGUINTE, ELE PEDE QUE NESSA PARTE DO CODIGO

[code]public void inserirAluno(Aluno aluno){
Session session = this.factory.openSession();
Transaction tx = session.beginTransaction();
aluno.getEndereco().setCpf(aluno.getEndereco().getCpf());
aluno.getEndereco().setCep(aluno.getEndereco().getCep());
aluno.getEndereco().setComplemento(aluno.getEndereco().getComplemento());
aluno.getEndereco().setNumero(aluno.getEndereco().getNumero());
aluno.setCpf(aluno.getCpf());
aluno.setMatricula(aluno.getMatricula());
aluno.setNome(aluno.getNome());
aluno.setTipoPessoa(TipoPessoa.ALUNO);

session.save(aluno);
session.flush();
tx.commit();
session.close();
}

EU “SET” JA OS VALORES DIRETAMENTE, SENDO QUE QUERO PEGAR ESSES VALORES DO MEU JFRAME, BLZA?

ALGUEM ME AJUDAAAAAAA, SO FALTA ISSO PRA ACABAR ESSA LONGA CAMINHADA !!!

ABRAÇÃO !!!

coloca o erro…

Esse erro dai se da ao fato da inserção do objeto quando o DAO esta assim:

public void inserirAluno(Aluno aluno){ Session session = this.factory.openSession(); Transaction tx = session.beginTransaction(); session.saveOrUpdate(aluno); session.flush(); tx.commit(); session.close(); }

Exception in thread "AWT-EventQueue-0" org.hibernate.exception.GenericJDBCException: could not insert: [br.com.negocio.Endereco] at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:40) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638) at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:218) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626) at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111) at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407) at org.hibernate.engine.Cascade.cascade(Cascade.java:130) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325) at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:456) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:334) at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172) at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298) at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172) at br.com.dados.hibernate.AlunoDAO.inserirAluno( at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94) AlunoDAO.java:39) at br.com.dados.hibernate.RepositorioAlunosHibernate.inserir(RepositorioAlunosHibernate.java:25) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) at br.com.negocio.CadastroAlunos.inserir(CadastroAlunos.java:23) at br.com.negocio.Fachada.inserirAluno(Fachada.java:57) at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507) at br.com.gui.Cad_Alunos_Professores.jButton1ActionPerformed(Cad_Alunos_Professores.java:313) at br.com.gui.Cad_Alunos_Professores.access$000(Cad_Alunos_Professores.java:26 at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499) ) at br.com.gui.Cad_Alunos_Professores$1.actionPerformed(Cad_Alunos_Professores.java:118) at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:218) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed( at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268) AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at org.hibernate.engine.Cascade.cascade(Cascade.java:130) at java.awt.Component.processMouseEvent(Component.java:6267) at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:456) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:334) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: java.sql.SQLException: Field 'cpf' doesn't have a default value at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495) at br.com.dados.hibernate.AlunoDAO.inserirAluno(AlunoDAO.java:39) at br.com.dados.hibernate.RepositorioAlunosHibernate.inserir(RepositorioAlunosHibernate.java:25) at br.com.negocio.CadastroAlunos.inserir(CadastroAlunos.java:23) at br.com.negocio.Fachada.inserirAluno(Fachada.java:57) at br.com.gui.Cad_Alunos_Professores.jButton1ActionPerformed(Cad_Alunos_Professores.java:313) at br.com.gui.Cad_Alunos_Professores.access$000(Cad_Alunos_Professores.java:26) at br.com.gui.Cad_Alunos_Professores$1.actionPerformed(Cad_Alunos_Professores.java:118) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6267) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33) ... 61 more at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) WARN - SQL Error: 1364, SQLState: HY000 ERROR - Field 'cpf' doesn't have a default value

E esse daqui da quando eu tiro o generated Value do CPF de endereco

Exception in thread "AWT-EventQueue-0" org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): br.com.negocio.Endereco at org.hibernate.id.Assigned.generate(Assigned.java:33) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:99) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499) at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:218) at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268) at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216) at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169) at org.hibernate.engine.Cascade.cascade(Cascade.java:130) at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:456) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:334) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187) at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172) at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535) at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523) at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519) at br.com.dados.hibernate.AlunoDAO.inserirAluno(AlunoDAO.java:39) at br.com.dados.hibernate.RepositorioAlunosHibernate.inserir(RepositorioAlunosHibernate.java:25) at br.com.negocio.CadastroAlunos.inserir(CadastroAlunos.java:23) at br.com.negocio.Fachada.inserirAluno(Fachada.java:57) at br.com.gui.Cad_Alunos_Professores.jButton1ActionPerformed(Cad_Alunos_Professores.java:313) at br.com.gui.Cad_Alunos_Professores.access$000(Cad_Alunos_Professores.java:26) at br.com.gui.Cad_Alunos_Professores$1.actionPerformed(Cad_Alunos_Professores.java:118) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6267) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

LEMBRANDO Q ELE FUNFA QUANDO EU SETO OS VALORES NA CLASSE AlunoDAO; SO Q QUERO PEGAR ELE NO FORME LA COM OS getText();

Amigo, me explique o q vc está pensando ao escrever esse trecho abaixo?

aluno.getEndereco().setCpf(aluno.getEndereco().getCpf());
aluno.getEndereco().setCep(aluno.getEndereco().getCep());
aluno.getEndereco().setComplemento(aluno.getEndereco().getComplemento());
aluno.getEndereco().setNumero(aluno.getEndereco().getNumero());
aluno.setCpf(aluno.getCpf());
aluno.setMatricula(aluno.getMatricula());
aluno.setNome(aluno.getNome());
aluno.setTipoPessoa(TipoPessoa.ALUNO);

e outra sua app é pra desktop ou WEB?

Ola amigo, a aplicação é desktop com o mysql.

Ja o trecho do codigo e que se não seto os valores antes do save ele diz Exception in thread “AWT-EventQueue-0” org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): br.com.negocio.Endereco

e não insere nem da update em nda, dai eu tenho q pegar os valores do Frame tende, pois desta forma terei de setar e meu usuario nunca iria poder preencher os campos do formulario !!!

Bom pra pegar do frame (jTextField eu axo) seria algo tipo isso:

// cria um contato
Contato c1 = new Contato();

// e busco nos campos os valores
c1.setNome(jTnome.getText());
c1.setEndereco(jTendereco.getText());
c1.setTel(jTtelefone.getText());
c1.setEmail(jTemail.getText());
c1.setSexo(jTsexo.getText());

//crio o DAO 
ContatoDao dao = new ContatoDao();

// e insiro no banco
dao.adiciona(c1);

isso é só pra se ter uma idéia…

em relação ao erro lá em cima ele diz algo sobre endereço…o q seria endereço? um relacionamento?

Endereço e composto por:

[code]

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package br.com.negocio;

import java.io.Serializable;
import javax.persistence.*;

/**
*

  • @author Júnior
    */
    @Entity
    @Table(name=“endereco”)
    public class Endereco implements Serializable{

    @Id
    @Column
    private String cpf;

    @Column
    private String cep;
    @Column
    private String numero;
    @Column
    private String complemento;

    public Endereco(String cep, String numero, String complemento) {
    this.cep = cep;
    this.numero = numero;
    this.complemento = complemento;
    }

    public Endereco(String cpf, String cep, String numero, String complemento) {
    this.cpf = cpf;
    this.cep = cep;
    this.numero = numero;
    this.complemento = complemento;
    }

    public Endereco(){

    }

    public String getComplemento() {
    return complemento;
    }

    public void setComplemento(String complemento) {
    this.complemento = complemento;
    }

    public String getCep() {
    return cep;
    }

    public void setCep(String cep) {
    this.cep = cep;
    }

    public String getCpf() {
    return cpf;
    }

    public void setCpf(String cpf) {
    this.cpf = cpf;
    }

    public String getNumero() {
    return numero;
    }

    public void setNumero(String numero) {
    this.numero = numero;
    }
    }[/code]

Olha ai como ficou:

[code]
Aluno aluno = new Aluno();

        aluno.setCpf(tf_cpf.getText());
        aluno.setMatricula(tf_matricula.getText());
        aluno.setNome(tf_nome.getText());
        String tipo = (String) cb_tipo.getSelectedItem();
        TipoPessoa tipoPes = TipoPessoa.valueOf(tipo);
        aluno.setTipoPessoa(tipoPes);
        aluno.getEndereco().setCep(tf_cep.getText());
        aluno.getEndereco().setComplemento(tf_cep.getText());
        aluno.getEndereco().setNumero(tf_numero.getText());
        aluno.getEndereco().setCpf(tf_cpf.getText());

        if(tipo == "ALUNO"){
    
    try{
        //fachada.atualizarAluno(aluno);
        AlunoDAO dao = new AlunoDAO();
        dao.inserirAluno(aluno);
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, "Erro na atualização(Fachada)"+e);
    }[/code]

E ainda continua dando o erro Exception in thread “AWT-EventQueue-0” org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): br.com.negocio.Endereco

E outra o Aluno e um Extends de Pessoa, Toda pessoa tem um endereco, como vou add o endereco dessa maneira, pq o edereco e o problema de tudo !!!

Conegui minimizar o erro, e agora ele ta dizendo que tou passando null lol, ve so

[code]

Aluno aluno = new Aluno();
//AlunoDAO dao = new AlunoDAO();

        aluno.setCpf(tf_cpf.getText());
        aluno.setMatricula(tf_matricula.getText());
        aluno.setNome(tf_nome.getText());
        String tipo = (String) cb_tipo.getSelectedItem();
        TipoPessoa tipoPes = TipoPessoa.valueOf(tipo);
        aluno.setTipoPessoa(tipoPes);
        aluno.getEndereco().setCep(tf_cep.getText());
        aluno.getEndereco().setComplemento(tf_cep.getText());
        aluno.getEndereco().setNumero(tf_numero.getText());
        aluno.getEndereco().setCpf(tf_cpf.getText());

        if(tipo == "ALUNO"){

    try{
        fachada.inserirAluno(aluno);
        
        //dao.inserirAluno(aluno);
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, "Erro na atualização(Fachada)"+e);
    }[/code]

E o erro:

[/b]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException[b] at br.com.gui.Cad_Alunos_Professores.jButton1ActionPerformed(Cad_Alunos_Professores.java:304) at br.com.gui.Cad_Alunos_Professores.access$000(Cad_Alunos_Professores.java:27) at br.com.gui.Cad_Alunos_Professores$1.actionPerformed(Cad_Alunos_Professores.java:119) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6267) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Amigo sei q deve estar facil resolver pro pessoal mais experiente mas vou colocar do meu jeito ok?

Eu faria alguns testes…deixaria assim e testava:

Aluno aluno = new Aluno();
AlunoDAO dao = new AlunoDAO();

            aluno.setCpf(tf_cpf.getText());
            aluno.setMatricula(tf_matricula.getText());
            aluno.setNome(tf_nome.getText());

            dao.inserirAluno(aluno);

se rodar ia inserindo as outras informações aos poucos saka?

Ola amigo sua dica foi muito show, mais sendo que ele so passao aluno e não o endereco, veja como coloquei, LEMBRANDO QUE ELE PASSA NORMAL E INSERE OS DADOS, MAIS O ENDEREÇO ELE PASSA NULL

[code]Aluno aluno = new Aluno();
Endereco endereco = new Endereco();
//AlunoDAO dao = new AlunoDAO();

        aluno.setCpf(tf_cpf.getText());
        aluno.setMatricula(tf_matricula.getText());
        aluno.setNome(tf_nome.getText());
        endereco.setCep(tf_cep.getText());
        endereco.setComplemento(tf_cep.getText());
        endereco.setNumero(tf_numero.getText());
        endereco.setCpf(tf_cpf.getText());

try{
fachada.inserirAluno(aluno);

        //dao.inserirAluno(aluno);
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, "Erro na atualização(Fachada)"+e);
    }[/code]

post sua classe aluno para eu ver…

Ta ai, so explicando q ela herda de pessoa, dai vou colocar as duas ok !!!

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package br.com.negocio;

import java.util.Collection;
import javax.persistence.*;

/**
*

  • @author Júnior
    */

@Entity
@DiscriminatorValue(“ALUNO”)
public class Aluno extends Pessoa {

@Column
private String matricula;

// @OneToMany(mappedBy =“aluno”, fetch = FetchType.LAZY)
// private Collection<Disciplina> disciplina;

// public Aluno(String cpf, String nome, TipoPessoa tipoPessoa, Endereco endereco, String matricula, Collection<Disciplina> disciplina) {
// this.matricula = matricula;
// this.disciplina = disciplina;
// }

public Aluno(String cpf, String nome, TipoPessoa tipo, String matricula, Endereco endereco) {
	super(cpf, nome, tipo, endereco);
            this.matricula = matricula;
	// TODO Auto-generated constructor stub
}
 public Aluno(String cpf, String nome, TipoPessoa tipo, String matricula) {
	super(cpf, nome, tipo);
            this.matricula = matricula;
	// TODO Auto-generated constructor stub
}

public Aluno() {
    
}

public String getMatricula() {
    return matricula;
}

public void setMatricula(String matricula) {
    this.matricula = matricula;
}

}
[/code]

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.negocio;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Collection;
/**
 *
 * @author Júnior
 */

@Entity
@Table(name = "pessoa")
@Inheritance( strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "tipopessoa", discriminatorType=DiscriminatorType.STRING)
public abstract class Pessoa implements Serializable{


    @Id
    @Column
    private String cpf;

    @Column
    private String nome;

    @Column(name="tipopessoa", insertable=false, updatable=false)
    private TipoPessoa tipoPessoa;

    @OneToOne(cascade=CascadeType.ALL)
    @PrimaryKeyJoinColumn
    private Endereco endereco;

    @OneToMany(mappedBy ="pessoa", fetch = FetchType.LAZY)
    private Collection&lt;Disciplina&gt; disciplina;

    public Pessoa(String cpf, String nome, TipoPessoa tipoPessoa, Endereco endereco, Collection&lt;Disciplina&gt; disciplina) {
        this.cpf = cpf;
        this.nome = nome;
        this.tipoPessoa = tipoPessoa;
        this.endereco = endereco;
        this.disciplina = disciplina;
    }

    

    public Pessoa(String cpf, String nome, TipoPessoa tipoPessoa, Endereco endereco) {
        this.cpf = cpf;
        this.nome = nome;
        this.tipoPessoa = tipoPessoa;
        this.endereco = endereco;
    }

     public Pessoa(String cpf, String nome, TipoPessoa tipoPessoa) {
        this.cpf = cpf;
        this.nome = nome;
        this.tipoPessoa = tipoPessoa;
    }

     public Pessoa(){
         
     }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public TipoPessoa getTipoPessoa() {
        return tipoPessoa;
    }

    public void setTipoPessoa(TipoPessoa tipoPessoa) {
        this.tipoPessoa = tipoPessoa;
    }

    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }

}

bom endereco eh um objeto entaum vai ser mais ou menos isso:


Endereco endereco = new endereco();
endereco.cpf(jtCpf.getText());
endereco.cpf(jtCep.getText());
endereco.cpf(jtNumero.getText());
endereco.cpf(jtComplemento.getText());

// depois que tiver todos os campos preenchidos ou não tem q mandar ele pro aluno

aluno.setEndereco(endereco);

// ai sim vc salva o aluno no banco

try{  
             fachada.inserirAluno(aluno);  
               
             //dao.inserirAluno(aluno);  
         }catch(Exception e){  
             JOptionPane.showMessageDialog(null, "Erro na atualização(Fachada)"+e);  
         }  

sacou a jogada? pq se o endereco fosse String naum precisaria disso, mas como é objeto tem q preencher ele pra só depois mandar pro aluno, testa ae…

MERMAOOOOOOOOOOOOOOOOOOO, PEGOOOOOOOOOOOOOOOOOOOOOOO AEWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

Meu vey funfo direitinho, nem acredito, vou poder sair HOJEEEEE, kkk, kra vlw mermo mano, muito obrigado aew por ter tirado minha duvida ta ok !!!

Qualquer coisa mano, tamos as ordens, UHU nem acredito kra, vo poder dormir hehe !!!

Vlw, e Abração !!!

Kra, funcionou blza, nem acredito mano, oxi mai sou novo no hibernate da pra passar kkk, kra vlw mermo aew a ajuda, agora eu poderei dormir tranquilo hehe,

qualquer coisa, tamo as ordens,

Abração !!!

O mano, pegou sim viu, vlw mesmo pela ajuda, nem acredito hehe,

qualquer coisa tamos ai ok !!!

Abração !!!

Pegou sim kra, vlw mesmo aew a ajuda, qualquer cosia tamos ai, mermao, nem acredito huasuhahus !!!