PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Consultar o Postgresql usando o Hibernate (JPA) não encontra a tabela


Postgres (costumava, não tenho certeza sobre o mais recente) converter nomes de tabelas para letras minúsculas. Esse é o procedimento operacional preferido. Se você registrar suas consultas, verá que o hibernate pode ou não estar citando o nome da sua tabela (eu acho que não).

Hibernar salvando modelo de usuário no Postgres

Honestamente, se você estiver executando no Postgres, você realmente deve configurar a hibernação corretamente ou, como eu veria, normalizar seu banco de dados, pois as tabelas não devem ter uma colisão de namespace (removendo assim o problema).

//Do artigo...
@Entity
@Table(name="\"User\"")
public class User {
    ...
}

EDITADO em 31/07/12:

Essa alteração deve ser feita nos campos das tabelas da seguinte forma:

Para @Column , altere o nome da coluna adicionando escape ":
@Column(name = "\"C_MODEL\"") 

Para @JoinColumn , altere o nome da coluna adicionando `:
@JoinColumn(name = "`TP_MODEL`")

Você terá que fazer isso manualmente nas colunas dando erros.