PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zapytanie Postgresql przy użyciu Hibernate (JPA) nie znajduje tabeli

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Solidne podejście do programowego budowania zapytań SQL

  2. GeoServer nie zapisuje do mojego aktualizowanego widoku PostgreSQL

  3. Dlaczego otrzymuję nieprawidłową składnię wejściową dla typu integer w postgresql podczas importowania pliku CSV?

  4. wydajność wsadowa jdbc

  5. org.postgresql.util.PSQLException:FATAL:przepraszam, już za dużo klientów