Fiz uma fábrica de criação de tabelas que recebe a classe como parametro!!!
Funciona normalmente, pois eu defino na classe as anotações!!!
Conforme a apostila do guj eu crieiii uma fábrica de sessão!!1
Tudo bonitinho funciona que é uma beleza, mas o mais importante nao funciona que é guardar no banco.
Quando vou buscar na sessao o id 55 existe mas o meu banco de dados esta em branco.
vc precisa fazer um flush da seção pode ser session.flush() ou criar uma transação e fazer commit.
rodrigoallemand
O flush faz vc sincronizar o banco e a memória, fazendo com que o banco entenda que existe uma transação em execução com os determinados dados… só o commit com sucesso garante que vc gravou no banco…
lelodois
Coloquei o flush e fechei a session!!!
E no banco nao tem nada, o engraçado é que o banco está sincronizado com a minha aplicação por
que eu já consegui incluir os campos.
mas os registros eu nao estou conseguindo…
olhem o meu código!!!
e eu nao acho o comit…
nao tenho a opcção de session.comit()
ThiagoWorldCoder
vc pode estar usando o hibernate.jar errado!!!
rodrigoallemand
Erro meu, desculpe...
Vc nunca vai achar o session.commit() porque ele é da classe Transaction...
Veja esse HibernateSessionFactory... ele pode te ajudar...
publicclassHibernateSessionFactory{/** * Construtor no-arg * Protegido para evitar a criação da classe */protectedHibernateSessionFactory(){super();}/* Constante de caminho do arquivo de configuração do Hibernate */privatestaticStringDEFAULT_CONFIG_FILE_LOCATION="/hibernate.cfg.xml";/* Threads que controlarão a sessão e a transação */privatestaticfinalThreadLocal<Session>threadSession=newThreadLocal<Session>();privatestaticfinalThreadLocal<Transaction>threadTransaction=newThreadLocal<Transaction>();/* Variaveis do Hibernate */privatestaticfinalConfigurationcfg=newConfiguration();privatestaticSessionFactorysessionFactory;/** * Método que retorna a instancia da Sessão utilizando o arquivo default do hibernate (/hibernate.cfg.xml). * @return Session * @throws SessionFactoryException */publicstaticSessiongetCurrentSession()throwsHibernateException{returnHibernateSessionFactory.getCurrentSession(DEFAULT_CONFIG_FILE_LOCATION);}/** * Método que retorna a instancia da Sessão. * @return Session * @throws SessionFactoryException */publicstaticSessiongetCurrentSession(StringconfigFile)throwsHibernateException{Sessionsession=threadSession.get();try{if(session==null||!session.isOpen()){if(sessionFactory==null){try{cfg.configure(configFile);sessionFactory=cfg.buildSessionFactory();}catch(Exceptione){throwe;}}session=(sessionFactory!=null)?sessionFactory.openSession():null;threadSession.set(session);}}catch(Exceptione){thrownewHibernateException(e);}returnsession;}/** * Método que fecha a sessão do Hibernate. * @throws SessionFactoryException */publicstaticvoiddoCloseSession()throwsHibernateException{Sessionsession=threadSession.get();threadSession.set(null);try{if(session!=null){session.close();}}catch(Exceptione){thrownewHibernateException(e);}}/** * Método que inicia a transação do Hibernate. * @throws SessionFactoryException */publicstaticvoiddoBeginTransaction()throwsHibernateException{Transactiontx=threadTransaction.get();try{if(tx==null){tx=getCurrentSession().beginTransaction();threadTransaction.set(tx);}}catch(Exceptione){thrownewHibernateException(e);}}/** * Método que executa o rollback da transação. * @throws SessionFactoryException */publicstaticvoiddoRollback()throwsHibernateException{Transactiontx=threadTransaction.get();try{if(tx!=null&&!tx.wasCommitted()&&!tx.wasRolledBack()){tx.rollback();threadTransaction.set(null);}}catch(Exceptione){thrownewHibernateException(e);}}/** * Método que commita a transação. * @throws SessionFactoryException */publicstaticvoiddoCommit()throwsHibernateException{Transactiontx=threadTransaction.get();try{if(tx!=null&&!tx.wasCommitted()&&!tx.wasRolledBack()){tx.commit();threadTransaction.set(null);}}catch(Exceptione){doRollback();thrownewHibernateException(e);}}}