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.