PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

La query su Postgresql utilizzando Hibernate (JPA) non trova la tabella

Postgres (usato, non sicuro sul più recente) converte i nomi delle tabelle in minuscolo. Questa è la procedura operativa preferita. Se registri le tue query, vedrai che l'ibernazione potrebbe essere o meno citando il nome della tua tabella (suppongo che non lo sia).

Ibernazione del salvataggio del modello utente in Postgres

Onestamente, se stai utilizzando Postgres dovresti davvero configurare l'ibernazione correttamente o, come lo guarderei, normalizzare il tuo database poiché le tabelle non dovrebbero avere una collisione nello spazio dei nomi (rimuovendo così il problema).

//Dall'articolo...

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

MODIFICATO 31/07/12:

Questa modifica deve essere apportata ai campi delle tabelle nel modo seguente:

Per @Column , cambia il nome della colonna aggiungendo escape ":

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

Per @JoinColumn , cambia il nome della colonna aggiungendo `:

@JoinColumn(name = "`TP_MODEL`")

Dovrai farlo manualmente sulle colonne che ti danno errori.