[Hibernate]Erro ao "lista" dados do Banco

Galera estou fazendo um CRUD utilizando o Struts2 e também o Hibernate, o mesmo já está salvando as informações na base de dados, mas ao lista o que foi cadastrado está dando o seguinte erro:

Ao debugar, estou vendo que a linda discs = (List)session.createSQLQuery(“from disc”).list(); está vindo “Null” ocorrendo o seguinte erro:

org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2231)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:312)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1722)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:175)
at brum.mybec.controller.DiscController.list(DiscController.java:43)
at brum.mybec.view.DiscAction.add(DiscAction.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)

O método em que isso ocorre é:

[code]
//Metodo responsavel por listar os discos cadastrados na base de dados
public List list() {

	Session session = HibernateUtil.getSessionFactory().getCurrentSession();
	session.beginTransaction();
	List<Disc> discs = null;
	try {
		
		discs = (List<Disc>)session.createSQLQuery("from disc").list();
		
		//discs = (List<Disc>)session.createQuery("select * from disc").list();				
	} catch (HibernateException e) {
		e.printStackTrace();
		session.getTransaction().rollback();
	}
	session.getTransaction().commit();
	return discs;[/code]

Pesquisei em outros lugares, mas nao consegui resolver esse problema.

Podem me ajudar?

discs = (List<Disc>)session.createQuery("from Disc").list();

Tenta isso.
Você está tentando executar uma HQL dentro do método que executa uma SQL padrão…

Outra coisa também…
Tente deixar seu DAO o mais genérico possível, acredite, isso ajuda d+.
Já citei esse link em outro post, mas dá uma olhada:
http://www.guj.com.br/java/276957-duvida-com-melhorias-dao-generic-com-hibernate

E também, quando for criar uma query pra listar todos de determinada classe por exemplo, creio que seja melhor assim:

public List findAll(Class classe) throws Exception {
        sessao = null;
        List lista;
        try {
            sessao = HibernateUtil.getSessionFactory().openSession();
            Criteria criteria = sessao.createCriteria(classe);
            lista = criteria.list();
        } catch (Exception e) {
            throw e;
        } finally {
            sessao.close();
        }
        return lista;
    }

Você passa o .class que quiser de retorno, no seu caso no parâmetro poderia ser:

Lista<Disc> discos = dao.list(Disc.class);

O erro agora mudou está dando o seguinte:

org.hibernate.hql.ast.QuerySyntaxException: disc is not mapped [from disc]
at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:181)
at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:110)
at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:93)
at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:277)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
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:251)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:183)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:134)
at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:101)
at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:80)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:94)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1650)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at

Não é estranho dizer que minha classe nao está mapeada sendo que eu consigo salvar?

Tentou fazer pelo .class? Não utilizei muita HQL ainda… mas até onde imagino a HQL é case sensitive… então tenta usar com D maiusculo no “from Disc”.

Tente com

("from pacote.Disc").list();  

Tentei e nada.
e a query está certa, eu busco direto no banco e consigo com o select * from disc;