##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
- Gebruik geen hoofdletters in de naam van
database
,schema
,tables
ofcolumns
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")
^^^^^^^^^^ ^^^^^^^^^^^
- 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|
+----------+-----------+----------+-----------+---------+
- 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