sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan kortlægges et enhedsfelt, hvis navn er et reserveret ord i JPA

Med Hibernate som JPA 1.0-udbyder kan du undslippe et reserveret søgeord ved at omslutte det i backticks:

@Column(name="`open`")

Dette er syntaksen, der er arvet fra Hiberate Core:

5.4. SQL citerede identifikatorer

Du kan tvinge Hibernate til at citere en identifikator i den genererede SQL ved at lukke tabellen eller kolonnenavnet inbackticks i tilknytningsdokumentet. Hibernate vil bruge den korrekte anførselsstil for SQL-dialekten. Dette er normalt dobbelte anførselstegn, men SQL-serveren bruger parenteser og MySQLuses-backticks.

<class name="LineItem" table="`Line Item`">
    <id name="id" column="`Item Id`"/><generator class="assigned"/></id>
    <property name="itemNumber" column="`Item #`"/>
    ...
</class>

I JPA 2.0 er syntaksen standardiseret og bliver til:

@Column(name="\"open\"")

Referencer

  • Dvale-referencevejledning
    • 5.4. SQL citerede identifikatorer
  • JPA 2.0-specifikation
    • 2.13 Navngivning af databaseobjekter

Relaterede spørgsmål

  • Dvaletilstand, MySQL og tabel med navnet "Gentag" - mærkelig adfærd
  • Automatisk escape af reserveret ord til dvaletabeller og -kolonner


  1. Måder at spore slettet database i SQL Server

  2. ORA-02287:sekvensnummer ikke tilladt her

  3. Hvordan roterer man PgBouncer-logfiler i Linux/Windows?

  4. Hvad er forbindelsesstrengen for localdb til version 11