PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Das Abfragen von Postgresql mit Hibernate (JPA) findet keine Tabelle

Postgres (früher, bei neueren nicht sicher) konvertiert Tabellennamen in Kleinbuchstaben. Das ist das bevorzugte Betriebsverfahren. Wenn Sie Ihre Abfragen protokollieren, sehen Sie, dass Hibernate Ihren Tabellennamen zitiert oder nicht (ich vermute, dass dies nicht der Fall ist).

Ruhezustand speichern des Benutzermodells in Postgres

Ehrlich gesagt, wenn Sie Postgres verwenden, sollten Sie entweder den Ruhezustand richtig konfigurieren oder, wie ich es sehen würde, Ihre Datenbank normalisieren, da Tabellen keine Namespace-Kollision haben sollten (wodurch das Problem behoben wird).

//Aus dem Artikel...

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

BEARBEITET 31.07.12:

Diese Änderung muss an den Feldern der Tabellen folgendermaßen vorgenommen werden:

Für @Column , ändern Sie den Namen der Spalte und fügen Sie das Escapezeichen ":

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

Für @JoinColumn , ändern Sie den Namen der Spalte und fügen Sie `:

hinzu
@JoinColumn(name = "`TP_MODEL`")

Sie müssen dies manuell in den Spalten tun, die Ihnen Fehler liefern.