PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Запитването на Postgresql с помощта на Hibernate (JPA) не намира таблица

Postgres (свикнал, не съм сигурен в по-новите) преобразува имената на таблици в малки букви. Това е предпочитаната оперативна процедура. Ако регистрирате вашите заявки, ще видите, че hibernate може да цитира или да не цитира името на вашата таблица (предполагам, че не е).

Хибернация запазва потребителския модел в Postgres

Честно казано, ако работите с Postgres, наистина трябва или да конфигурирате хибернация правилно, или, както бих го погледнал, да нормализирате вашата база данни, тъй като таблиците не трябва да имат сблъсък в пространството на имената (по този начин премахвайки проблема).

//От статията...

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

РЕДАКТИРАНА НА 31.07.12:

Тази промяна трябва да се извърши в полетата на таблиците по следния начин:

За @Column , променете името на колоната, като добавите екранирани ":

@Column(name = "\"C_MODEL\"") 

За @JoinColumn , променете името на колоната, като добавите `:

@JoinColumn(name = "`TP_MODEL`")

Ще трябва да го направите ръчно за колоните, които ви дават грешки.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да избягам от единични кавички в заявка на командния ред на psql?

  2. Тестване на Cucumber и RSpec със zeus:Postgres е достъпен от други потребители

  3. 3 начина за форматиране на число като процент в PostgreSQL

  4. как да предадете променлива за копиране на команда в Postgresql

  5. Как да разделя стойност на множество редове на символа за нов ред в PostgreSQL?