Ajuda com Hibernate

Oi Pessoal!!

Estou desenvolvendo uma aplicação onde tenho um relacionamento muitos para muitos cod abaixo:

[code]@Embeddable
public class SolicitacaoCooperativasPK implements Serializable {

private Long voucher;

@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="solicitacao_id")
private Solicitacao solicitacao;

@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="cooperativa_id")
private Cooperativas cooperativa;

get e set…
[/code]

@Entity @Table(name="solicitacao_cooperativas") public class SolicitacaoCooperativas { @EmbeddedId private SolicitacaoCooperativasPK chaveComposta; private Double valor; get e set...
quando eu tento executar esta query

  lista=dao.getSession().createQuery("from SolicitacaoCooperativas as s right outer join fetch s.chaveComposta.solicitacao.solicitacao_id").list();

ele retorna o erro abaixo:

Exception in thread "main" java.lang.NullPointerException at org.hibernate.hql.ast.HqlSqlWalker.createFromJoinElement(HqlSqlWalker.java:310) at org.hibernate.hql.antlr.HqlSqlBaseWalker.joinElement(HqlSqlBaseWalker.java:3275) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3067) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688) at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544) at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281) at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229) at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228) at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160) at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56) at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72) at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133) at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112) at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)

Alguém sabe porque? alguém pode me ajudar?

Estou querendo que ele mostre os dados da tabela solicitação endependentemente de que se tenha
registro na tabela cooperativas

obrigado

Faz um Debug, isso tah com cara que seu obj DAO esta nulo, ou esta retornando nulo ao inves de um Session !

Oi!!!
mudei minha consulta para:

Criteria criteria = dao.getSession().createCriteria(SolicitacaoCooperativas.class) .createCriteria("chaveComposta.solicitacao") .add(Restrictions.eq("estado", "EmAndamento"));

mas dá o seguinte erro:

Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not execute query at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.loader.Loader.doList(Loader.java:2223) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) at org.hibernate.loader.Loader.list(Loader.java:2099) at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) at org.hibernate.impl.CriteriaImpl$Subcriteria.list(CriteriaImpl.java:458) at br.com.memora.managed.SolicitacaoMB.setListaEmAndamento(SolicitacaoMB.java:60) at br.com.memora.managed.SolicitacaoMB.<init>(SolicitacaoMB.java:51) at teste.main(teste.java:19) Caused by: java.sql.SQLException: Unknown column 'solicitaca1_.estado' in 'where clause' at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695) at com.mysql.jdbc.Connection.execSQL(Connection.java:3026) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1137) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1231) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186) at org.hibernate.loader.Loader.getResultSet(Loader.java:1787) at org.hibernate.loader.Loader.doQuery(Loader.java:674) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at org.hibernate.loader.Loader.doList(Loader.java:2220) ... 9 more Java Result: 1

o problema é que existe este campo “estado” na tabela e no meu bean, mas ele continua dando erro.

obrigado.