Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zmapować pole encji, którego nazwa jest słowem zastrzeżonym w JPA?

Dzięki Hibernate jako dostawcy JPA 1.0 możesz ominąć zarezerwowane słowo kluczowe, umieszczając je w backticks:

@Column(name="`open`")

To jest składnia odziedziczona z Hiberate Core:

5.4. Cytowane identyfikatory SQL

Możesz zmusić Hibernate do cytowania identyfikatora w wygenerowanym SQL, umieszczając nazwę tabeli lub kolumny znakami wstecznymi w dokumencie mapowania. Hibernate użyje poprawnego stylu cudzysłowów dla dialektu SQL. Zwykle są to podwójne cudzysłowy, ale SQL Server używa nawiasów, a MySQL używa znaków kontrolnych.

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

W JPA 2.0 składnia jest ustandaryzowana i wygląda następująco:

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

Referencje

  • Przewodnik dotyczący hibernacji
    • 5.4. Cytowane identyfikatory SQL
  • Specyfikacja JPA 2.0
    • 2.13 Nazywanie obiektów bazy danych

Powiązane pytania

  • Hibernacja, MySQL i tabela o nazwie „Repeat” – dziwne zachowanie
  • Automatyczne unikanie słowa zastrzeżonego dla tabel i kolumn Hibernate


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przywracanie kopii zapasowej bazy danych SQL Server w niższej wersji

  2. Dodaj kolumnę wyliczoną do istniejącej tabeli w SQL Server

  3. Metody eksportu i importu tabel bazy danych SQL Server

  4. SSMS wersja 18 – brak diagramów bazy danych

  5. Jak zwrócić wartość Unicode dla danego znaku w SQL Server – UNICODE()