Postgres (свикнал, не съм сигурен в по-новите) преобразува имената на таблици в малки букви. Това е предпочитаната оперативна процедура. Ако регистрирате вашите заявки, ще видите, че hibernate може да цитира или да не цитира името на вашата таблица (предполагам, че не е).
Хибернация запазва потребителския модел в Postgres
Честно казано, ако работите с Postgres, наистина трябва или да конфигурирате хибернация правилно, или, както бих го погледнал, да нормализирате вашата база данни, тъй като таблиците не трябва да имат сблъсък в пространството на имената (по този начин премахвайки проблема).
//От статията...
@Entity
@Table(name="\"User\"")
public class User {
...
}
РЕДАКТИРАНА НА 31.07.12:
Тази промяна трябва да се извърши в полетата на таблиците по следния начин:
За @Column
, променете името на колоната, като добавите екранирани ":
@Column(name = "\"C_MODEL\"")
За @JoinColumn
, променете името на колоната, като добавите `:
@JoinColumn(name = "`TP_MODEL`")
Ще трябва да го направите ръчно за колоните, които ви дават грешки.