Bugs terroristas Hibernate

9 respostas
Jefries

Galera, estou tendo tenebrosos problemas com o nosso amigo hibernate…

Estou selecionando um nível de ao cesso de uma tabela pra iniciar programa, ja tem dados na tabela, porém estou tendo um bug mjuito louco!

meu código de pesquisa e este:

public String pesquisaSenha(String senha){
    String nivelAcesso;


    try {
        Session session  = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        List retorno = session.createSQLQuery(" select nivel_acesso from senha_programa where senha = ' " + senha + " ' " ).list();
        Object primeiraLinha = retorno.get(0);
        nivelAcesso =  primeiraLinha.toString();
        JOptionPane.showMessageDialog(null, nivelAcesso);
        return nivelAcesso;
    } catch (HibernateException he) {
        he.printStackTrace();
        return he.toString();
        //JOptionPane.showMessageDialog(null, "" +  he);
    }
    }

E o maior problema é que depois disso todos os dados da tabela somem e vcs podem ver que no JOptionPane ali o retorno não e coisa boa.

Assim eu não consigo inicializar o programa…

Onde esta o meu problema, faz mais de uma semana qu eeu não consigo resolver isso

Preciso de uma luz…

Desde já valeu

9 Respostas

C

você mapeou o objeto “senha_programa” ?

Dê uma lida, de como usar o createSQLQuery:
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html

Jefries

Sim, mapeei, e consigo salvar dados dela no banco só não consigo mesmo fazer esse

Talvez seja um daqueles bugs que são do próprio hibernate

pmlm

‘minha_senha’ é diferente de ’ minha_senha ’

balrog

uma coisa que vc deveria evitar eh concatenar SQL (pesquise sobre SQL injection), passe parametros para sua query.

partenon

Por algum acaso, seu hibernate.properties tem uma propriedade chamada “hibernate.hbm2ddl.auto” com valor parecido com “create-drop” ?

Jefries

Não o meu hibernate.properties não tem esa propriedade não…

Precisa ter é??

E se eu não contatenar as Strings como devo fazer?

Valeu a todos!

partenon

Nao, seu hibernate.properties nao deve ter esta propriedade. Esta propriedade, se ativada, recria as tabelas com base no mapeamento da sua aplicacao.

Jefries

Pois é pessoal nãp consigo solução…

Que droga, não sei mais o que fazer!

Por favor se alguém souber, posta ai!

Valeu a todos, deculpe o incomodo!

No console aparece isto quando eu executo:

INFO: building session factory
11/08/2010 22:17:25 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
Hibernate: SELECT MAX(IDALUNO) AS IDALUNO FROM ALUNOS_CADASTRO_NORMAL 
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at telas.TelaDeAlunos.pesquisaUltimoId(TelaDeAlunos.java:2343)
        at telas.TelaDeAlunos.adicionarAlunoCadNormal(TelaDeAlunos.java:2358)
        at telas.TelaDeAlunos.btnAdicionarCadastroActionPerformed(TelaDeAlunos.java:2431)
        at telas.TelaDeAlunos.access$400(TelaDeAlunos.java:36)
        at telas.TelaDeAlunos$5.actionPerformed(TelaDeAlunos.java:474)
        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:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        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:4574)
        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)
pmlm

NullPointer no método pesquisaUltimoId…

Criado 10 de agosto de 2010
Ultima resposta 12 de ago. de 2010
Respostas 9
Participantes 5