##Lösning
I PostgreSQL du måste ange namnet på schemat så här:
@Table(name="table_name", schema = "myapp")
^^^^^^^^^^^^^^^^
##Lång berättelse
du fick det här felet :
org.postgresql.util.PSQLException: ERROR: column user0_.id does not exist
eftersom när du skapar en databas i PostgreSQL skapar det ett standardschema med namnet offentligt , så när du inte anger namnet i Entity
då kommer Hibernate att kontrollera automatiskt i offentliga schema.
##Bra metoder
- Använd inte stora bokstäver i namnet på
database
,schema
,tables
ellercolumns
i PostgreSQL . Annars bör du undvika dessa namn med citattecken, och det kan orsaka syntaxfel, så istället kan du använda :
@Table(name="table_name", schema = "schema_name")
^^^^^^^^^^ ^^^^^^^^^^^
- sökordet USER är ett reserverat sökord i PostgreSQL ta en titt på
+----------+-----------+----------+-----------+---------+
| Key Word |PostgreSQL |SQL:2003 | SQL:1999 | SQL-92 |
+----------+-----------+----------+-----------+---------+
| .... .... .... .... .... |
+----------+-----------+----------+-----------+---------+
| USER | reserved |reserved | reserved | reserved|
+----------+-----------+----------+-----------+---------+
- till skillnaden mellan Dto och Entitet det är bra att använda Entity i slutet av namnet på din Entity, till exempel
UserEntity