[RESOLVIDO] Hibernate + Java DB Embedded: não lista registros da tabela

4 respostas
V

Olá pessoal,

Usando: Netbeans 7.2.1, uma aplicação básica em Java com Java Db embedded.

Abaixo do log de execução do projeto, seguem os únicos arquivos deste simples projeto: Cliente.java, hibernate.cfg.xml, HibernateUtil.java e o JavaApplication.java

Problema:
Sucesso na conexão com Java DB Embedded usando create=true. A tabela clientes não existe, mas é criada pelo uso hibernate annotations na classe Cliente.
Na inclusão do registro na tabela Cliente não ocorre nenhum problema.
Contudo, na hora de listar ocorre o erro a seguir:

run:
Incluindo cliente
Out 30, 2012 4:15:25 PM org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.1.GA
Out 30, 2012 4:15:25 PM org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
Out 30, 2012 4:15:25 PM org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
Out 30, 2012 4:15:25 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
Out 30, 2012 4:15:25 PM org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
Out 30, 2012 4:15:25 PM org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
Out 30, 2012 4:15:25 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
Out 30, 2012 4:15:25 PM org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
Out 30, 2012 4:15:25 PM org.hibernate.cfg.AnnotationBinder bindClass
INFO: Binding entity from annotated class: com.cliente.Cliente
Out 30, 2012 4:15:25 PM org.hibernate.cfg.annotations.EntityBinder bindTable
INFO: Bind entity com.cliente.Cliente on table clientes
Out 30, 2012 4:15:25 PM org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring
Out 30, 2012 4:15:25 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
Out 30, 2012 4:15:25 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 1
Out 30, 2012 4:15:25 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
Out 30, 2012 4:15:25 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: org.apache.derby.jdbc.EmbeddedDriver at URL: jdbc:derby:teste;create=true
Out 30, 2012 4:15:25 PM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=teste, password=****}
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: Apache Derby, version: 10.8.1.2 - (1095077)
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: Apache Derby Embedded JDBC Driver, version: 10.8.1.2 - (1095077)
Out 30, 2012 4:15:26 PM org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.DerbyDialect
Out 30, 2012 4:15:26 PM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
Out 30, 2012 4:15:26 PM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default schema: app
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.classic.ClassicQueryTranslatorFactory
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.NoCacheProvider
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Echoing all SQL to stdout
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
Out 30, 2012 4:15:26 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
Out 30, 2012 4:15:26 PM org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
Out 30, 2012 4:15:26 PM org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: Running hbm2ddl schema update
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: fetching database metadata
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: updating schema
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: table found: .APP.CLIENTES
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: columns: [forma_pagto, filialfaturamento, dt_ultima_compra, data_inativacao, descr_cond_pagto, codigo, limite_credito, nome_completo, emailcomercial, tabelapreco, cgc, fax, uf, status, emailnfe, fone, nome_reduzido, cidade, bairro, saldoematraso, tipo_frete, codigo_vendedor, loja, ativo, cod_cond_pagto, saldoemaberto, segmento, endereco]
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: foreign keys: []
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: indexes: [sql121030145047670]
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: table found: .APP.CLIENTES
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: columns: [forma_pagto, filialfaturamento, dt_ultima_compra, data_inativacao, descr_cond_pagto, codigo, limite_credito, nome_completo, emailcomercial, tabelapreco, cgc, fax, uf, status, emailnfe, fone, nome_reduzido, cidade, bairro, saldoematraso, tipo_frete, codigo_vendedor, loja, ativo, cod_cond_pagto, saldoemaberto, segmento, endereco]
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: foreign keys: []
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: indexes: [sql121030145047670]
Out 30, 2012 4:15:26 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: schema update complete
Out 30, 2012 4:15:26 PM org.hibernate.util.JDBCExceptionReporter logWarnings
WARNING: SQL Warning: 10000, SQLState: 01J01
Out 30, 2012 4:15:26 PM org.hibernate.util.JDBCExceptionReporter logWarnings
WARNING: Database 'teste' not created, connection made to existing database instead.
Hibernate: 
    insert 
    into
        app.clientes
        (ativo, bairro, cidade, cod_cond_pagto, codigo, codigo_vendedor, data_inativacao, descr_cond_pagto, dt_ultima_compra, emailComercial, emailNFE, endereco, fax, filialFaturamento, fone, forma_pagto, limite_credito, loja, nome_completo, nome_reduzido, saldoEmAberto, saldoEmAtraso, segmento, status, tabelaPreco, tipo_frete, uf, cgc) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: 
    select
        
    from
        
Out 30, 2012 4:15:27 PM org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 20000, SQLState: 42X01
Out 30, 2012 4:15:27 PM org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: Syntax error: Encountered "from" at line 1, column 9.
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.hql.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:912)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
	at javaapplication.JavaApplication.main(JavaApplication.java:37)
Caused by: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "from" at line 1, column 9.
	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source)
	at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
	at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:505)
	at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:423)
	at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
	at org.hibernate.loader.Loader.doQuery(Loader.java:673)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
	at org.hibernate.loader.Loader.doList(Loader.java:2220)
	... 7 more
Caused by: java.sql.SQLException: Syntax error: Encountered "from" at line 1, column 9.
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
	... 27 more
Caused by: ERROR 42X01: Syntax error: Encountered "from" at line 1, column 9.
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.impl.sql.compile.ParserImpl.parseStatement(Unknown Source)
	at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
	at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
	... 21 more
Java Result: 1[/color]
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cliente;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;

/**
 *
 * @author vicente
 */
@Entity
@Table(name = "clientes")
public class Cliente implements Serializable {

    private static final long serialVersionUID = 1L;
    @Column(name = "cgc", nullable = false, length = 14, insertable = true, updatable = false)
    @Id
    private String cgc;
    @Column(length = 6)
    private String codigo_vendedor;
    @Column(length=6)
    private String codigo;
    @Column(length=2)
    private String loja;
    @Column(length=50)
    private String nome_completo;
    @Column(length=40)
    private String nome_reduzido;
    @Column(length=20)
    private String segmento;
    @Column(length=100)
    private String endereco;
    @Column(length=20)
    private String bairro;
    @Column(length=60)
    private String cidade;
    @Column(length=2)
    private String uf;
    @Column(length=2)
    private String filialFaturamento;
    @Column(length=3)
    private String tabelaPreco;
    @Column(length=1)
    private String tipo_frete;
    @Column(length=3)
    private String cod_cond_pagto;
    @Column(length=20)
    private String descr_cond_pagto;
    @Column(length=1)
    private String ativo;
    @Column(length=1)
    private String status;
    @Column(length=4)
    private String forma_pagto;
    @Column(length=8)
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dt_ultima_compra;
    
    private float limite_credito;
    private float saldoEmAtraso;
    private float saldoEmAberto;
    @Column(length=60)
    private String emailComercial;
    @Column(length=60)
    private String emailNFE;
    @Column(length=15)
    private String fone;
    @Column(length=15)
    private String fax;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date data_inativacao;

    public Cliente() {
    }

    public String getCgc() {
        return cgc;
    }

    public void setCgc(String cgc) {
        this.cgc = cgc;
    }

    public String getCodigo_vendedor() {
        return codigo_vendedor;
    }

    public void setCodigo_vendedor(String codigo_vendedor) {
        this.codigo_vendedor = codigo_vendedor;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getLoja() {
        return loja;
    }

    public void setLoja(String loja) {
        this.loja = loja;
    }

    public String getNome_completo() {
        return nome_completo;
    }

    public void setNome_completo(String nome_completo) {
        this.nome_completo = nome_completo;
    }

    public String getNome_reduzido() {
        return nome_reduzido;
    }

    public void setNome_reduzido(String nome_reduzido) {
        this.nome_reduzido = nome_reduzido;
    }

    public String getSegmento() {
        return segmento;
    }

    public void setSegmento(String segmento) {
        this.segmento = segmento;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public String getUf() {
        return uf;
    }

    public void setUf(String uf) {
        this.uf = uf;
    }

    public String getFilialFaturamento() {
        return filialFaturamento;
    }

    public void setFilialFaturamento(String filialFaturamento) {
        this.filialFaturamento = filialFaturamento;
    }

    public String getTabelaPreco() {
        return tabelaPreco;
    }

    public void setTabelaPreco(String tabelaPreco) {
        this.tabelaPreco = tabelaPreco;
    }

    public String getTipo_frete() {
        return tipo_frete;
    }

    public void setTipo_frete(String tipo_frete) {
        this.tipo_frete = tipo_frete;
    }

    public String getCod_cond_pagto() {
        return cod_cond_pagto;
    }

    public void setCod_cond_pagto(String cod_cond_pagto) {
        this.cod_cond_pagto = cod_cond_pagto;
    }

    public String getDescr_cond_pagto() {
        return descr_cond_pagto;
    }

    public void setDescr_cond_pagto(String descr_cond_pagto) {
        this.descr_cond_pagto = descr_cond_pagto;
    }

    public String getAtivo() {
        return ativo;
    }

    public void setAtivo(String ativo) {
        this.ativo = ativo;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getForma_pagto() {
        return forma_pagto;
    }

    public void setForma_pagto(String forma_pagto) {
        this.forma_pagto = forma_pagto;
    }

    public Date getDt_ultima_compra() {
        return dt_ultima_compra;
    }

    public void setDt_ultima_compra(Date dt_ultima_compra) {
        this.dt_ultima_compra = dt_ultima_compra;
    }

    public float getLimite_credito() {
        return limite_credito;
    }

    public void setLimite_credito(float limite_credito) {
        this.limite_credito = limite_credito;
    }

    public float getSaldoEmAtraso() {
        return saldoEmAtraso;
    }

    public void setSaldoEmAtraso(float saldoEmAtraso) {
        this.saldoEmAtraso = saldoEmAtraso;
    }

    public float getSaldoEmAberto() {
        return saldoEmAberto;
    }

    public void setSaldoEmAberto(float saldoEmAberto) {
        this.saldoEmAberto = saldoEmAberto;
    }

    public String getEmailComercial() {
        return emailComercial;
    }

    public void setEmailComercial(String emailComercial) {
        this.emailComercial = emailComercial;
    }

    public String getEmailNFE() {
        return emailNFE;
    }

    public void setEmailNFE(String emailNFE) {
        this.emailNFE = emailNFE;
    }

    public String getFone() {
        return fone;
    }

    public void setFone(String fone) {
        this.fone = fone;
    }

    public String getFax() {
        return fax;
    }

    public void setFax(String fax) {
        this.fax = fax;
    }

    public Date getData_inativacao() {
        return data_inativacao;
    }

    public void setData_inativacao(Date data_inativacao) {
        this.data_inativacao = data_inativacao;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (cgc != null ? cgc.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Cliente)) {
            return false;
        }
        Cliente other = (Cliente) object;
        if ((this.cgc == null && other.cgc != null) || (this.cgc != null && !this.cgc.equals(other.cgc))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.cliente.Cliente[ cgc=" + cgc + " ]";
    }
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication;

import com.cliente.Cliente;
import com.cliente.HibernateUtil;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author vicente
 */
public class JavaApplication {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        System.out.println("Incluindo cliente");

        Cliente cliente = new Cliente();
        cliente.setCgc("33333333333333");
        cliente.setNome_completo("TESTE.");

        Session sessao = HibernateUtil.getSessionFactory().openSession();
        Transaction transacao = sessao.beginTransaction();
        sessao.save(cliente);
        transacao.commit();

        Query q = sessao.createQuery("from clientes");
        List<Cliente> clientes = q.list();
        for (Cliente cli : clientes) {
            System.out.println(cli.getCgc());
        }
        
        sessao.close();
        System.out.println("fechou sessao");
    }
}
<?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">org.apache.derby.jdbc.EmbeddedDriver</property>
    <property name="hibernate.connection.url">jdbc:derby:teste;create=true</property>
    <property name="hibernate.connection.username">teste</property>
    <property name="hibernate.connection.password">teste</property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
    <property name="hibernate.format_sql">true</property>
    <property name="hibernate.connection.pool_size">1</property>
    <property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
    <property name="hibernate.default_schema">app</property>
    <mapping class="com.cliente.Cliente"/>
  </session-factory>
</hibernate-configuration>
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cliente;

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;

/**
 * Hibernate Utility class with a convenient method to get Session Factory
 * object.
 *
 * @author vicente
 */
public class HibernateUtil {

    private static final SessionFactory sessionFactory;
    
    static {
        try {
            // Create the SessionFactory from standard (hibernate.cfg.xml) 
            // config file.
            sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            // Log the exception. 
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
    
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}

4 Respostas

Hebert_Coelho

Opa, beleza? Uma dica, não precisa postar esse monte de código, fica difícil até de ajudar.

Bastou a mensagem de erro para ver que seu problema é a consulta: Encountered “from” at line 1, column 9.

Não é desse modo que se executa uma consulta utilizando HQL/JPQL.

Aqui mostra como fazer: JPA Consultas e Dicas.

V

Hebert,

De tantas pesquisas que havia feito antes de abrir este tópico, recordo que havia feito também esta forma de consulta que está presente na url que indicastes (pg. 4):

Query q = sessao.createQuery("select c from clientes c");
Gerando o erro: [color=red]Exception in thread “main” org.hibernate.QueryException: in expected: c [select c from clientes c][/color]

Ocorre que em tantos outros lugares, incluindo este forum, encontro o exemplo usado na abertura deste tópico: “from clientes” apenas. Segue uma das fontes

E agora José ? Para onde ? kkkk

Hebert_Coelho

E agora é voltar lá para ler de verdade! =P

Pq ler de verdade?

A consulta é feita em cima do nome da classe e não da tabela do banco de dados! =P

V

Cara!

Resolvido!

Não imagina como este cabelo de sapo tava dando trabalho pra resolver… foi tanta busca!

Alterei para:

e listou beleza.

Obrigado Hebert!

Criado 30 de outubro de 2012
Ultima resposta 30 de out. de 2012
Respostas 4
Participantes 2