Consulta no Hibernate

Por que será que dá exceção dizendo que a tabela (tabela usuario) não está mapeada no Hibernate (versão 3.2.1) se ela está mapeada?

Exceção quando faz a Query:
usuario is not mapped [From usuario]

hibernate.reveng.xml

[code]<?xml version="1.0" encoding="UTF-8"?>

[/code]

Usuario.hbm.xml

[code]<?xml version="1.0"?>

[/code]

hibernate.cfg.xml

[code]<?xml version="1.0" encoding="UTF-8"?>

org.hibernate.dialect.MySQLDialect com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/transport root SENHA true thread [/code]

Código onde faz a consulta para gerar uma lista de Option, onde dá o erro e não carrega os dois usuários cadastrados, esse método está no SessionBean1.java e é chamado no método init():

[code]private void buildUsuarioOptions() {
List usuarioList = null;
try {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
org.hibernate.Transaction tx = session.beginTransaction();
org.hibernate.Query q = session.createQuery(“From usuario”);
//org.hibernate.Query q = session.createSQLQuery(“SELECT * FROM usuario”);
usuarioList = (List) q.list();
} catch (Exception e) {
info("Erro: "+e.getMessage());
e.printStackTrace();
}

this.listaUsuarioOptions = new Option[usuarioList.size()];
int i = 0;
for (Usuario item : usuarioList) {
    info("Usuario: "+item.getLogin());
    Option opt = new Option(item.getId(), item.getLogin());
    this.listaUsuarioOptions[i++] = opt;
}

}[/code]

Alguém saberia me dar uma dica do que estou fazendo errado? Estou iniciando em Hibernate e achava que estava tudo certo mas esta dando esse erro.

Obrigado.

[quote=javer]Exceção quando faz a Query:
usuario is not mapped [From usuario]

Código onde faz a consulta para gerar uma lista de Option, onde dá o erro e não carrega os dois usuários cadastrados, esse método está no SessionBean1.java e é chamado no método init():

org.hibernate.Query q = session.createQuery("From usuario");
[/quote]

Tenta from Usuario … eu também estou começando no Hibernate e pelo que li, você utiliza a classe Usuario, nao a tabela usuario

Bom dia,

Quando vc cria “from usuario”, vc esta pensando em banco de dados, comum para qualquer desenvolvimento iniciante em hql.

Como esta o nome da sua classe “Usuario”, como em hql trabalhamos com objetos se você passar para “from Usuario” provavelmente terá seu resultado.

Qq dúvida estou a disposição.

Att.;

Obrigado a todos.

Tentei assim e agora deu mensagem diferente:

List<Usuario> usuarioList = null; Session session = HibernateUtil.getSessionFactory().getCurrentSession(); try { //org.hibernate.Transaction tx = session.beginTransaction(); //org.hibernate.Query q = session.createQuery("from transys.pojo.Usuario"); //org.hibernate.Query q = session.createSQLQuery("SELECT * FROM usuario"); //usuarioList = session.createQuery("from transys.pojo.Usuario").list(); usuarioList = session.createQuery("from Usuario").list(); } catch (Exception e) { info("Erro gerando a lista: " + e.getMessage()); e.printStackTrace(); }

Mensagem de erro:
createQuery is not valid without active transaction
Como resolve isso?

Só confirmando, para usar o SQL normal eu uso session.createSQLQuery?

“createQuery is not valid without active transaction”

Caramba, é só ler o erro né. Descomenta a linha onde você instancia uma transação.

Ok, obrigado novamente.

Agora tenho um outro problema, no meu DAO tenho esse método:

public Usuario busca(Integer id) { org.hibernate.Transaction tx = session.beginTransaction(); tx.begin(); Usuario usuario = (Usuario) this.session.load(Usuario.class, id); tx.commit(); return usuario; }

… que está disparando essa exceção:
could not initialize proxy - no Session

O que está errado? Quero passar o id do usuário e recuperar um usuário.

Acho q o problema é q vc esta tentando fazer de ponta cabeça…

Você quis dizer de cabeça para baixo (up side down), a imagem é irrelevante nesse caso, infelizmente não é isso não.

ahuahuahua num é q se trocou desvirou o avatar ?? agora so falta desvirar o método…

o ponta cabeça, é que preimeiro vc tenta rodar, ai depois vc le a saida do problema de configuração, ai vc configura, e tenta rodar denovo, e assim vai… ou seja… ta fazendo de ponta cabeça, de traz pra frente…

O.o

mais uma duvida… pq vc abre tranzação pra fazer select ??

bom, o erro não ta completo, e pode ser N coisas, um stacktrace as vezes ajuda…

Já resolvi, coloquei o lazy=“false” no mapeamento e resolveu.