Problema hibernate annotation

Meus cumprimentos a todos…

eh seguinte, com o um problema no mapeamento como segue:

@Entity
class A 
{
  @Id
  private int id_a;

  @ManyToOne(fetch=FetchType.LAZY)
  @JoinColumn(name="id_b")
  private B b;
  
}


@Entity
class B
{
   @Id
   private id_b
}



class Adao 
{   
   . 
   .
   .
  
   public A consultarCodigoA(int codigo)
    {
        session = ConnectDAO.getInstance(); 
        A a = (A)session.createQuery("FROM A where  id_a = " + codigo).uniqueResult();
        System.out.println("Busquei no banco ...");
        return a;
    }  

}

Erro que dah  na busca do metodo consultarCodigoA (int codigo)

org.hibernate.exception.SQLGrammarException: could not execute query
	org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
	org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	org.hibernate.loader.Loader.doList(Loader.java:2223)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
	org.hibernate.loader.Loader.list(Loader.java:2099)
	org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
	org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
	org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
	org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
	org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
	br.gov.sifeDAO.CodigoTitulacaoDAO.consultarCodigoTitulacao(CodigoTitulacaoDAO.java:92)
	br.gov.sifeForm.ServidorTipo1.constroiCodigoTitulacao(ServidorTipo1.java:567)
	br.gov.sifeForm.ServidorTipo1.<init>(ServidorTipo1.java:198)
	br.gov.sifeAction.CargaAction.iniciaProcesso(CargaAction.java:91)
	br.gov.sifeAction.CargaAction.execute(CargaAction.java:55)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

Quero q a busca me retorne o objeto A q contem o objeto B.
alguem pode me dizer o seria o erro

Agradecido …
ateh

naum riam de mim gente ^^

naum precisa ter um * em
A a = (A)session.createQuery("FROM A where id_a = " + codigo).uniqueResult();

tipo

A a = (A)session.createQuery(" * FROM A where id_a = " + codigo).uniqueResult();

:lol:

é erro de SQL…
tenta colocar o seguinte:

"from br.com.teste.A where id_a = "

coloca todo o caminho do pacote onde está a sua classe…

não precisa colocar o *

select a from A a where a.id_a = "

Ops … galera valeu ai pelas dicas …

Resolvido da seguinte forma: no meu codigo que aqui eh representado pela class A em

@JoinColumn(name="chave estrangeira da tabela A ")

eu estava colocando a chave primaria da class B …

tanks a todos

ahhh [quote]Jeferson_Manetti [/quote] como o [quote]rubenspg[/quote] precisa colocar o * nao, veja como fica um consulta no hibern

[code]Hibernate: session.createQuery("FROM Nacionalidade where idNacionalidade = " + codigo)

select nacionalid0_.ID_NACIONALIDADE as ID1_23_,
nacionalid0_.DESCRICAO as DESCRICAO23_
from nacionalidade nacionalid0_
where nacionalid0_.ID_NACIONALIDADE=1
[/code]

Abraço a todo(a)s

Ateh …