sql >> Databáze >  >> RDS >> Sqlserver

Jak mapovat pole entity, jehož název je vyhrazeným slovem v JPA

S Hibernate jako poskytovatelem JPA 1.0 můžete uniknout vyhrazenému klíčovému slovu tak, že ho uzavřete mezi zadní zaškrtnutí:

@Column(name="`open`")

Toto je syntaxe zděděná z Hiberate Core:

5.4. SQL citované identifikátory

Hibernate můžete přinutit, aby ve vygenerovaném SQL uvozovala identifikátor tak, že v dokumentu mapování uzavřete název tabulky nebo sloupce. Hibernate použije správný styl citací pro dialekt SQL. Obvykle se jedná o dvojité uvozovky, ale SQL Server používá hranaté závorky a MySQL používá zpětné zaškrtnutí.

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

V JPA 2.0 je syntaxe standardizována a stává se:

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

Odkazy

  • Referenční příručka k hibernaci
    • 5.4. SQL citované identifikátory
  • Specifikace JPA 2.0
    • 2.13 Pojmenování databázových objektů

Související otázky

  • Hibernace, MySQL a tabulka s názvem „Repeat“ – podivné chování
  • Automatické escapování rezervovaného slova pro tabulky a sloupce režimu spánku


  1. Visual Studio:ContextSwitchDeadlock

  2. Získání názvu aktuální funkce uvnitř funkce pomocí plpgsql

  3. Jak vrátíte názvy sloupců tabulky?

  4. Jak vytvořit offline aplikaci pro internacionalizaci:Použijte databázi Sqlite