Hinernate não funcioana!

Galera, o hibernate esta dando este erro macabro, que eu coloquei abaixo, porém eu já configurei tudo certinho, o hibernate.properties, é o único arquivo de configuraçào que eu estou usando, mas minha classe de entidade está com as marcações necessárias…
Por que ele contunua dando este erro??

org.hibernate.MappingException: Unknown entity: entity.AlunosCadTec
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
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)

Se alguém puder me ajudar, valeu!1

Unknown entity: entity.AlunosCadTec 

o hibernate não está encontrando seu mapeamento referente a classe AlunosCadTec

Como vc está passando onde ele deve encontrar os mapeamentos? Pelo hibernate.properties, ou direto na SessionFactory?

Posta os 2 para que agente possa dar uma olhada.

Cara, você não tem um exmplo aeh de como fica a configuração pelo SessionFactory???

Ahhh, e eu estou usando um arquivo hibernate,properties deste jeito:

hibernate.dialect.DerbyDialect
hibernate.connection.driver_class = org.apache.derby.jdbc.ClientDriver
hibernate.connection.url = jdbc:derby://localhost:1527/sample
hibernate.connection.username = app
hibernate.connection.password = app
hibernate.show_sql = true
hibernate.format_sql = true
hibernate.hbm2ddl.auto=create;

Dai, eu tenho o alunoDao, a a classe FabricaAlunos assim:

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package factory;
import org.hibernate.;
import org.hibernate.cfg.
;
import entity.*;

/**
*

  • @author Felipe
    */
    public class FabricaAlunoTec {
    private static SessionFactory sessao;

    static{

    try{
    AnnotationConfiguration anotaConfig = new AnnotationConfiguration();
    anotaConfig.addAnnotatedClass(AlunosTec.class);
    sessao = anotaConfig.buildSessionFactory();
    }
    catch (Exception e){
    e.printStackTrace();
    }
    }

    public Session getSessao()
    {
    return sessao.openSession();

}
}

Dai eu faço a chamada assim:

int escolha = 0;
while(escolha != 6)
{
System.out.println("---------------------");
System.out.println(“Escolha uma opção:\n”);
System.out.println(“1 - criar tabela”);
System.out.println(“2 - cadastrar”);
System.out.println(“3 - deletar”);
System.out.println(“4 - consultar”);
System.out.println(“5 - atualizar”);
System.out.println(“6 - sair\n”);
System.out.print("-> “);
escolha = new Scanner(System.in).nextInt();
System.out.println(”---------------------");
switch(escolha)
{
case 1:
// new FabricaTabelaAlunosTec().fabricaAlunoTec();
break;
case 2:
System.out.println(“Entrada de dados:”);
AlunosCadTec alunosCadTec = new AlunosCadTec();
System.out.println(“Digite o nome:”);
alunosCadTec.setNomeCompletoAluno12(new Scanner(System.in).next());
System.out.println(“Digite o endereco”);
alunosCadTec.setBairro30(new Scanner(System.in).next());
AlunoTecDao alunoTecDAO = new AlunoTecDao();
//fabricaAlunoTec();
alunoTecDAO.cadastrar( alunosCadTec );

}}

Dai como eu disse eu tenho a classe de entidade, com as devidas marcações…

Aonde está meu erro???

Valeu galera!

cara usa a formatacao do forum, por favor.

http://blog.camilolopes.com.br/category/hibernate/

dar uma olha nos posts e ver o que fatou ai. E assim, pq nao usar o hibernate.cfg.xml é muito mais clean que o arquivo properties. pelo menos eu acho .

flw.

Valeu cara!!
Desculpa ai por eu não ter formatado!

Foi mal :smiley:

Viu, mas então cara, eu ainda sou iniciante em hibernate, e gostaria de saber se eu vou ter que mesmo fazer um XML para cada classe,

ou se eu usar as anotações nas classes de entidade, posso me livrar deste trabalho deste trabalho.

Tem como isso, ou não, vou mesmo ter que fazer todos os xml, um para cada classe???/

a resposta é sim. vc vai ter que fazer o xml para cada bean seu. ou usar annotations, se for hibernate 3 com java 1.5.

Mas, vc pode evitar isso usando o hibernate tools veja no post do edson.

bem, minha dica é. se está iniciando quanto mais souber por a mao na massa, melhor afinal de contas, vc quer aprender hibernate ne? entao faça na unha, todos ja passaram por isso e vc nao eh o primeiro e nao sera o ultimo, e quando for trabalhar com hibernate, nao fique feliz que vai achar muitas apps ai com annotations nao, ou que vai achar o hibernate tools, pois tem empresas que usam ides privadas e nem dar para ter o hibernate tools por la. iai ? vc vai olhar pra o seu lider tecnico e dizer que so sabe fazer com hibernate tools ou com annotations?

pense nisso…

P.S: qdo comecei com java eu usava o notepad da M$ e nao notepad++, e nao me arrependo 1min que fiquei ali sofrendo, pois quando passei por aquela fase, e fui para o Eclipse, meu deus, era tudo mais simples e rapido.

flw.

Bom cara eu não uso da forma que você usa, mas tenho aqui um exemplo usando XML, se te ajudar em algo aí vai:

<!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.connection.username">root</property> <property name="hibernate.connection.password">root</property> <property name="hibernate.connection.url">jdbc:mysql://localhost/bmweb</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <mapping class="br.bmweb.bean.Venda"/> <mapping class="br.bmweb.bean.Teste"/> <mapping class="br.bmweb.bean.Produto"/> <mapping class="br.bmweb.bean.Usuario"/> </session-factory> </hibernate-configuration>

Como pode ver acima para cada classe que uso eu devo criar uma TAG , outro detalhe é que o nome do arquivo deve ser “hibernate.cfg.xml” e deve estar dentro da pasta “src”. O exemplo acima basta adaptar para o seu uso.

Pelo que vi no código de sua SessionFactory, vc não adicionou essa classe AlunosCadTec. Vc adicionou essa AlunosTec. É a partir dali que o hibernate vai ler seus mapeamentos, então adicione todoas as classes que possuem o mapeamento ali.

Ou faça como o colega, cristianogro, citou, adicione direto no seu arquivo as classes de mapeamentos.

Qualquer coisa, da uma lida na documentação do hinermate, http://docs.jboss.org/hibernate/core/3.5/reference/pt-BR/html_single/

e se ele mudar o nome do hibernate.cfg.xml ele deve especificar isso. Bom, eu acho que seria mais facil pra ele, pedir para o jboss tools gerar o hibernate cfg e o mapeamento. tao simples, e ele evitava desperdicar o tempo com esses erros infernais e se concentrar em outras partes.

flw.

Galera, eu já consegui, valeu a todos pelas dica!!

O Hibernate está gravando na base de dados!!

Agora eu tenho uma dúvida eu tenho um formulário, com alguns campos de texto, etc e tals…

Já consigo gravar por eles!

Mas eu gostaria de saber como eu faria uma pesquisa e pelo código do aluno e carregaria os dados nos campos???

Eu não quero caregar uma lista, eu quero carregar

com este tipo de query-------> " select * from alunos where cod_alunos = " + campoDeCod.getText() + " ; "

ou seja o usuário coloca o código para pesquisa, e clica neste botão de pesquisa, comom é que eu faria isto?

ver se ajuda: http://blog.camilolopes.com.br/busca-com-hibernate-annotation-jsf/

flw.