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

org.postgresql.util.PSQLEundtagelse:FEJL:kolonne bruger0_.id findes ikke - Dvale

##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

  1. Brug ikke store bogstaver i navnet på database , schema , tables eller columns 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")
             ^^^^^^^^^^             ^^^^^^^^^^^
 
  1. 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| +----------+-----------+----------+-----------+---------+
  1. til forskellen mellem Dto og Enhed det er god praksis at bruge Entity i slutningen af ​​navnet på din Entity, f.eks. UserEntity


  1. Kopier en enorm MySQL-tabel fra en fjernbetjening til en lokal database

  2. Hvordan får jeg kolonnenavne fra en given MySQL-tabel?

  3. Sådan rettes:"SQLServerAgent kører ikke i øjeblikket ..."

  4. json_encode gør array til et objekt