Postgres (w przypadku nowszych wersji nie jest pewien) konwertuje nazwy tabel na małe litery. To preferowana procedura operacyjna. Jeśli zarejestrujesz swoje zapytania, zobaczysz, że hibernacja może być lub nie cytować nazwy twojej tabeli (przypuszczam, że tak nie jest).
Hibernacja zapisywania modelu użytkownika w Postgresie
Szczerze mówiąc, jeśli korzystasz z Postgresa, naprawdę powinieneś albo odpowiednio skonfigurować hibernację, albo, jak bym na to spojrzał, znormalizować swoją bazę danych, ponieważ tabele nie powinny mieć kolizji przestrzeni nazw (a tym samym usunąć problem).
//Z artykułu...
@Entity
@Table(name="\"User\"")
public class User {
...
}
ZMIENIONO 31.07.12:
Tę zmianę należy wprowadzić w polach tabel w następujący sposób:
Dla @Column
, zmień nazwę kolumny, dodając znak ucieczki ”:
@Column(name = "\"C_MODEL\"")
Dla @JoinColumn
, zmień nazwę kolumny dodając `:
@JoinColumn(name = "`TP_MODEL`")
Będziesz musiał to zrobić ręcznie w kolumnach, co spowoduje błędy.