Ao invés de utilizar:
List<Produto> lista = newSessao.createQuery("FROM TBL_PRODUTO").list();
tente:
List<Produto> lista = newSessao.createQuery("FROM Produto").list();
O hql é orientado a objetos, desta forma, utilize o nome do objeto ao invés do nome da tabela.
Arquivo de configuração
<?xml version='1.0' encoding='utf-8'?>
<!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.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/Sophos</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">300</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="use_sql_comments">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="pkg/pojo/Produto.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Classe de Conexão do hibernate
public class HibernateUtil {
private static SessionFactory sessaoFactory ;
static {
try {
sessaoFactory = new Configuration().configure().buildSessionFactory();
} catch(Throwable e) {
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessaoFactory() {
return sessaoFactory;
}
public static void fecharConexao() {
getSessaoFactory().close();
}
}
public class Produto implements Serializable {
private static final long serialVersionUID = 1L;
private int codProduto ;
private String nome ;
private int qtdProduto ;
private double preco ;
public Produto() { }
//metodos get() e set()
}
Arquivo de configuração do pojo
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="pkg.pojo.Produto" table="TBL_PRODUTO">
<id name="codProduto" column="CODPRODUTO">
<generator class="increment"/>
</id>
<property name="nome" column="NOME"/>
<property name="qtdProduto" column="QTDPRODUTO"/>
<property name="preco" column="PRECO"/>
</class>
</hibernate-mapping>
Main
public class HelloWorld {
public static void main(String[] args) {
Session newSessao = HibernateUtil.getSessaoFactory().openSession();
Transaction newTx = newSessao.beginTransaction();
List<Produto> lista = newSessao.createQuery("FROM TBL_PRODUTO").list();
for (Iterator<Produto> iterator = lista.iterator(); iterator.hasNext();) {
Produto produto2 = iterator.next();
System.out.println("Produto :" + produto2.getNome());
}
newTx.commit();
newSessao.close();
HibernateUtil.fecharConexao();
}
}
É exibido este erro aqui . Mas esta tudo de acordo a meu ver !!!
Agradeço a quem ajudar .