Erro hibernate

ae pessoal estou tentando inserir dados na minha tabela via hibernate3 e esta dando uma exception !!!

15:55:26,692 DEBUG JDBCExceptionReporter:69 - could not insert: [br.com.caelum.lojavirtual.modelo.Usuario] [insert into Usuario (login, senha, id) values (?, ?, ?)] java.sql.SQLException: Statement parameter 3 not set. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1035) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:684) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1184) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1101) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1086) at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33) 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.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.caelum.lojavirtual.main.TestaUsuario.main(TestaUsuario.java:24) 15:55:26,692 WARN JDBCExceptionReporter:77 - SQL Error: 0, SQLState: S1009 15:55:26,692 ERROR JDBCExceptionReporter:78 - Statement parameter 3 not set. Exception in thread "main" org.hibernate.exception.GenericJDBCException: could not insert: [br.com.caelum.lojavirtual.modelo.Usuario] 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.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.caelum.lojavirtual.main.TestaUsuario.main(TestaUsuario.java:24) Caused by: java.sql.SQLException: Statement parameter 3 not set. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1035) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:684) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1184) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1101) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1086) at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33) ... 16 more

a minha classe para inserir tah assim

[code]
package br.com.caelum.lojavirtual.main;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;

import br.com.caelum.lojavirtual.modelo.Usuario;

public class TestaUsuario {
public static void main(String[] args) {
// configura o hibernate
Configuration conf = new AnnotationConfiguration();
conf.configure();
SessionFactory factory = conf.buildSessionFactory();
Session session = factory.openSession();
// cria um usuario
Usuario u = new Usuario();
u.setLogin(“admin”);
u.setSenha(“admin”);
// abre transacao e insere
Transaction t = session.beginTransaction();
session.save(u);
t.commit();
session.close();
}
}[/code]

ae pessoal me ajudem!!!

cara ngm consege resolver?!?!?!?!

simm que é o objeto id!! mais eu nao tenhu q passar o id… olha como tah minha classe

[code]
package br.com.caelum.lojavirtual.modelo;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Usuario {

@Id
@GeneratedValue
private Long id;

private String login;

private String senha;

//get’s set’s

}[/code]

Provavelmente há um erro na tabela, ela esta auto-incremente? Tenta colocar.

[quote=aneri]Provavelmente há um erro na tabela, ela esta auto-incremente? Tenta colocar.[/quote]sim esta !! quando eu crio a tabela por essa classe

[code]
package br.com.caelum.lojavirtual.util;

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class GeraBanco {
public static void main(String[] args) {
Configuration conf = new AnnotationConfiguration();
conf.configure();
SchemaExport se = new SchemaExport(conf);
se.create(true, true);
}
}
[/code] ele cria o BD pra mim!! e cria autoincrement notnull primarykey

Tenta usar então a estrategia para a geração do id, segue o exemplo do nosso amigo acima. Pq você até esta definindo que vai usar a geração de id, mas não esta definindo qual.

cara ainda nao funciona ngm pd m ajudar???

???

Primeira coisa, ficar “upando” tópicos é totalmente desaconselhável.

Segundo, verifique se os seus .class estão atualizados na pasta da sua aplicação.

Estou exatamente com o mesmo erro e ainda não consegui nada também… Ja deletei tudo e começei de novo, ja conferi linha a linha e até agora nada.

Se alguem conseguir por favor poste!!

Ja to quase indo la na Caelum pra ve alguem falzer!! rsrrs

Desculpa pelo post duplo, mas ontem de madrugada descobri o que era…

Você deve estar usando a versao 3.2.4 do hibernate, altere para a 3.2.2 que vai começar a funcionar

Sinceridade? As chances de voltar da versão 3.2.4 pra 3.2.2 e começar a funcionar por causa disso, são praticamente nulas.

Sinceridade? As chances de voltar da versão 3.2.4 pra 3.2.2 e começar a funcionar por causa disso, são praticamente nulas.[/quote]

Faça o download da versão 3.2.4 sp1 que resolve isso.
Mais detalhes do bug aqui http://opensource.atlassian.com/projects/hibernate/browse/HHH-2605

o objeto usuario tem um atributo q vc nao esta setando e foi definido como nao nulo no banco ou no mapeamento dele

vc tem 3 atributos:

seu atributo id deve ficar assim:

@Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id_usuario", unique = true, nullable = false, insertable = true, updatable = true)

esse exemplo é usando mysql