##Løsning
I PostgreSQL du skal angive navnet på skemaet sådan:
@Table(name="table_name", schema = "myapp")
^^^^^^^^^^^^^^^^
##Lang historie
du fik denne fejl :
org.postgresql.util.PSQLException: ERROR: column user0_.id does not exist
fordi når du opretter en database i PostgreSQL , opretter det et standardskema med navnet offentlig , så når du ikke angiver navnet i Entity
så tjekker Hibernate automatisk i offentligheden skema.
##God praksis
- Brug ikke store bogstaver i navnet på
database
,schema
,tables
ellercolumns
i PostgreSQL . Ellers bør du undslippe disse navne med anførselstegn, og det kan forårsage syntaksfejl, så i stedet kan du bruge :
@Table(name="table_name", schema = "schema_name")
^^^^^^^^^^ ^^^^^^^^^^^
- søgeordet USER er reserveret søgeord i PostgreSQL tag et kig på
+----------+-----------+----------+-----------+---------+
| Key Word |PostgreSQL |SQL:2003 | SQL:1999 | SQL-92 |
+----------+-----------+----------+-----------+---------+
| .... .... .... .... .... |
+----------+-----------+----------+-----------+---------+
| USER | reserved |reserved | reserved | reserved|
+----------+-----------+----------+-----------+---------+
- til forskellen mellem Dto og Enhed det er god praksis at bruge Entity i slutningen af navnet på din Entity, f.eks.
UserEntity