sql >> Database >  >> RDS >> PostgreSQL

org.postgresql.util.PSQLException:FOUT:kolom user0_.id bestaat niet - Slaapstand

##Oplossing

In PostgreSQL je moet de naam van het schema als volgt specificeren:

@Table(name="table_name", schema = "myapp")
                          ^^^^^^^^^^^^^^^^

##Lang verhaal

je hebt deze fout:

org.postgresql.util.PSQLException: ERROR: column user0_.id does not exist

want wanneer u een database maakt in PostgreSQL , maakt het een standaardschema met de naam public , dus als u de naam niet opgeeft in de Entity dan zal Hibernate automatisch inchecken in de openbare schema.

##Goede praktijken

  1. Gebruik geen hoofdletters in de naam van database , schema , tables of columns in PostgreSQL . Anders moet u deze namen laten ontsnappen met aanhalingstekens, en dit kan syntaxisfouten veroorzaken, dus in plaats daarvan kunt u gebruiken:

@Table(name="table_name", schema = "schema_name")
             ^^^^^^^^^^             ^^^^^^^^^^^
  1. het zoekwoord USER is een gereserveerd zoekwoord in PostgreSQL kijk eens op

+----------+-----------+----------+-----------+---------+
| Key Word |PostgreSQL |SQL:2003  | SQL:1999  | SQL-92  |
+----------+-----------+----------+-----------+---------+
|  ....        ....       ....       ....       ....    |
+----------+-----------+----------+-----------+---------+
| USER     |  reserved |reserved  | reserved  | reserved|
+----------+-----------+----------+-----------+---------+
  1. naar verschil tussen Dto en Entiteit het is een goede gewoonte om Entiteit te gebruiken aan het einde van de naam van uw Entiteit, bijvoorbeeld UserEntity


  1. TOP 10 rijen ophalen zonder TOP of LIMIT te gebruiken? – Interviewvraag van de week #247

  2. Nadelen van het opslaan van afbeeldingen in een database?

  3. Illegaal gebruik van LONG datatype Oracle

  4. Slepen en neerzetten in MS Access en voorwaardelijk sorteren