Hibernate nao funciona

9 respostas
Renato_Ceadareanu

Olá pessoal estou com um problema se conseguirem me ajudar agradeço

Tenho uma classe Cliente:

package Classes;

public class Cliente {

    private int id;
    private int codigo;
    private String nome, endereco, numero, bairro, cidade, cep, uf;
    private String telefone, fax, celular, email;
    private String cpf, rg;
    private String dtNascimento;
    private String obs;
        
    public Cliente() {
        
    }
   
    <Metodos Getters e Seters>

}

tenho o hibernate.cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
        <property name="hibernate;connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
        <property name="hibernate.connetcion.url">jdbc:jtds:sqlserver://localhost:1433;DatabaseName=LHManager;SelectMethod=Cursor;User=sa;Password=sa</property>
        <property name="hibrnate.connection.username">sa</property>
        <property name="hibernate.connection.password">sa</property>
        <property name="show_sql">true</property>  
        <property name="hibernate.generate_statistics">true</property>  
        <property name="hibernate.use_sql_comments">true</property>  
        
        <mapping resource="Classes/Cliente.hbm.xml"/>
        
    </session-factory>
</hibernate-configuration>

e tenho a classe de inicio do sistema

public static void main(String[] args) {
       /* frmPrincipal p = new frmPrincipal();
        p.show();*/
        Cliente c = new Cliente();
        c.setCodigo(1);
        c.setNome("Renato");
        c.setCpf("338.545454");
        c.setDtNascimento("23/01/1987");
        c.setTelefone("456465465");
        Configuration cfg = new Configuration();
        cfg.configure(); // hibernate.cfg.xml na raiz da estrutura de pacotes
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        Session session = sessionFactory.openSession();
        session.save(c);
        session.close();
        sessionFactory.close();
}

Ele configura direitinho mas quando chega no save dá o seguinte erro

Exception in thread "main" java.lang.UnsupportedOperationException: The user must supply a JDBC connection
        at org.hibernate.connection.UserSuppliedConnectionProvider.getConnection(UserSuppliedConnectionProvider.java:30)
        at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)
        at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
        at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:94)
        at org.hibernate.id.IdentityGenerator$InsertSelectDelegate.prepare(IdentityGenerator.java:104)
        at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:30)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2108)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2588)
        at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
        at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290)
        at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:180)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
        at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
        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)

agluem pode me ajudar, por favor

:(

9 Respostas

fabiozoroastro

Não poste seus posts em caixa alta:
Pesquisa

danieldestro

Dá uma olhada no seu XML, parece que está errado:

hibernate;connection.driver_class

Troca o ";" por "."

E, por favor, não usar URGENTE e também colocar o seu código dentro da tag [code].

georgesq

seu package tb esta com Classe e deveria ser classe.

mais o erro é dele não conseguir uma conection via sua informação do cfg.xml

[s]
baiano

Renato_Ceadareanu

Obrigado mesmo as dicas, apesar delas estarem enormes no topo do forum, mas a pressa…

Bom é o seguinte, mesmo corrigindo o codigo errado e tal, nao obtive resultado. quando meu codigo chega no save ele nao passa do erro, é estranho nao sei porque, já fucei em todos os foruns e espero que consigam me ajudar! se precisar estou o dia inteiro on line e mando as informações necessarias

[]'s

herbertins

cara estou com o mesmo problema a dias, vc consseguiu resolver essa parada. o meu chega no save e da pau

Daniel_Quirino_Olive

Detalhe melhor seus problemas. “Dá pau” é muito genérico.

Renato_Ceadareanu

Então cara… resolver nao consegui nada ainda… o que boatos dizem que pode ser é em relação ao Service Pack do SQL Server, dizem pra aplicar o patch 3 e testar e também instanciar a classe antes:

try {
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException ex) {
     ex.printStackTrace();
}

Espero que ajude ! :smiley:

herbertins

cara eu conssegui resolver aqui em casa, puta era uma parada idiota, a minha classe nao era identica a minha tabela no banco de dados, tinha nome de campos diferentes.

Renato_Ceadareanu

hummmm, entao me esclarece uma coisa?? me manda um email com o driver odbc que vc esta usando e me fala qual sql server vc esta na maquina… ainda nao funcionou no meu !!! :cry:

[email removido]

valew

Criado 17 de janeiro de 2007
Ultima resposta 31 de jan. de 2007
Respostas 9
Participantes 6