Erros no hibernate

8 respostas
G

Boa tarde pessoal,

já postei várias dúvidas aqui e até agora ninguém consegui me ajudar. Espero que desta vez alguém me ajude.

Estou usando hibernate + JSF e simplemente faço um select * from para aperecer em um grid, coisa simples. Só que por algum motivo, o hibernate não consegue identificar os campos.

Minha classe está assim

public class Urgencia implements java.io.Serializable {

private int idUrgencia;

Meu hbm está assim:

E tomo este erro: Caused by: org.postgresql.util.PSQLException: ERRO: coluna urgencia0_.idurgencia não existe
Position: 8

De onde ele tirou esse urgencia0_.idurgencia ?

Tá difícil de trabalhar com esse framework, a partir da 4.0 ficou muito bugado.

Um abraço agradeço a ajuda

8 Respostas

rafadelnero

Olá Gustavo, porquê não usa annotations? É muito mais prático.

Você declarou sua entidade no arquivo hibernate.cfg.xml?

G

Olá amigo

olha meu hibernate.cfg

org.hibernate.dialect.PostgreSQLDialect org.postgresql.Driver jdbc:postgresql://localhost:5432/dbsiap postgres gfCquake7 true true thread

E tem outro detalhe muito estranho, só consegui usar o wizard de engenharia reversa do hibernate depois que colocquei as minhas tabelas começando com caracter minusculo. Você falou em usar annotations: Como assim?

Gustavo

rafadelnero

Usar annotations no seu caso está fora de questão, seu sistema está grande já pelo que vi nas suas tabelas.

Provavelmente você também verificou no banco se o campo existe.

Outras tabelas funcionam normalmente?

G

Até ja refiz tudo aqui usando annotations,

a tabela existe, o campo existe, mas por exemplo o campo no banco de dados se chama idUsuario, no hibernate tudo está mapeado idUsuario, na definicao da classe o campo está idUsuario, mas qdo executo os seguintes linhas do método da classe:

Session session = HibernateUtil.getSessionFactory().openSession();

tx = session.beginTransaction();

String sql = “SELECT u FROM Urgencia u”;

Query query = session.createQuery(sql);

urgencia = (Urgencia) query.uniqueResult();

eu tomo o erro: Caused by: org.postgresql.util.PSQLException: ERRO: coluna urgencia0_.idurgencia não existe.

Até mesmo usando o HQL editor eu tomo esse erro.

Gustavo

rafadelnero

Gustavo, acho que o Postgres é case sensitive, experimente trocar o nome da tabela no banco de dados para idUrgencia, ou faça o inverso, coloque idurgencia no mapeamento do Hibernate.

emanuelCruz

Eu faço o mapeamento de ids desta forma:

<id name="idProduto" column="ID_PRODUTO">
			<generator class="sequence">
				<param name="sequence">SQ_PRODUTO</param>
			</generator>
</id>

Outra coisa, tem certeza que o nome da sua coluna no banco de dados (não na classe) é idUrgencia e não id_urgencia?

G

Boa tarde à todos,

fiz o seguinte, gerei o banco no postgressql com todos os caracteres em minúsculo, depois usando o wizard do netbeans gerei novamento os POJOS. Simplesmente funcionou, vai entender

Obrigado pela ajuda

rafadelnero

O Postgres é case sensitive, por isso não funcionou.

Criado 9 de julho de 2014
Ultima resposta 10 de jul. de 2014
Respostas 8
Participantes 3