Metodo save da classe SessionFactory dando pau

galera a minha classe funciona direitinho ateh chegar no metodo save©, ela gera uma exception estranha

essa

Code:

[color=red]Exception in thread “main” org.hibernate.exception.SQLGrammarException: could not insert: [br.com.casa.classes.Cliente][/color]

[code]
package br.com.casa.dao;

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

import br.com.casa.classes.Cliente;

public class ClienteDAO {

private Session session;
private SessionFactory factory;

public ClienteDAO(){ 
	AnnotationConfiguration conf = new AnnotationConfiguration();
	conf.addAnnotatedClass(Cliente.class);
	factory = conf.buildSessionFactory();	
}

public void Adiciona(Cliente c){
	session = factory.openSession();
	session.save(c);
	session.close(); 
}

}[/code]

Cole o stack trace completo.

tah aiii cara essa coisa feia meu jah estou a dias aqui e nao conssigo resolver me dah um help ai por favor

[color=red]log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread “main” org.hibernate.exception.SQLGrammarException: could not insert: [br.com.casa.classes.Cliente]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
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: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)
at br.com.casa.dao.ClienteDAO.Adiciona(ClienteDAO.java:22)
at br.com.casa.classes.Inicio.main(Inicio.java:15)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table ‘cadastrohoras.cliente’ doesn’t exist
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3176)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1153)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1404)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1318)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1303)
at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33)
… 17 more[/color]

codigo da minha classe cliente

[code]package br.com.casa.classes;

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

@Entity
public class Cliente {
@Id
@GeneratedValue
private int id;
private String nome;
private String descricao;

public String getDescricao() {
	return descricao;
}
public void setDescricao(String descricao) {
	this.descricao = descricao;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public int getId() {
	return id;
}

}[/code]

Olá.

a sua tabela referente à classe cliente está configurada com id para usar sequence automático?

Att.

oiiiii está simmmm

Olá.

Bem, olhando melhor seu stacktrace, percebi:

Table ‘cadastrohoras.cliente’ doesn’t exist.

  1. Verifique se sua tabela está realmente configurada no banco (parece óbvio);
  2. Verifique se você está conectando no banco de dados correto, talvez você está conectando ao banco de dados errado no MySQL (veja se ele não está usando o padrão Test);
  3. Verifique se o nome da tabela está configurada corretamente no arquivo .hbm.

Att.

cara, acho que descobri oq está rolando haushdusad, puta cara estava cagando feio no código

a minha tabela nao tinha nada a ver com a minha classe tipo os nomes dos campos totalmente diferentes. fodaaa…

vo arrumar aqui e ve se roda

aewww brother valew, graças a sua primeira pergunta eu conssegui, agora soh tem uma coisinha eu rodo na boa nao dah nenhum erro soh que quando eu vo no banco de dados nao está lah os valores, estranho neh

vo ve aqui

valew cara abs

cara tu tem ideia do que pode está acontecendo que não está salvando no banco.

abs

Resolvidoooo galera valew a todoss

abs