Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да картографирате поле на обект, чието име е запазена дума в JPA

С Hibernate като доставчик на JPA 1.0 можете да избегнете запазена ключова дума, като я затворите в обратна връзка:

@Column(name="`open`")

Това е синтаксисът, наследен от Hiberate Core:

5.4. SQL идентификатори

Можете да принудите Hibernate да цитира идентификатор в генерирания SQL, като включите обратните отметки на името на таблицата или колоната в документа за съпоставяне. Hibernate ще използва правилния стил на цитиране за SQL диалекта. Това обикновено е двойни кавички, но SQL Server използва скоби и MySQLuses backtick.

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

В JPA 2.0 синтаксисът е стандартизиран и става:

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

Препратки

  • Справочно ръководство за хибернация
    • 5.4. SQL идентификатори
  • Спецификация на JPA 2.0
    • 2.13 Именуване на обекти в базата данни

Свързани въпроси

  • Хибернация, MySQL и таблица с име „Repeat“ – странно поведение
  • Автоматично екраниране на запазена дума за таблици и колони в режим на хибернация


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Получаване на идентификатора на ред, който актуализирах в Sql Server

  2. Да използвате float или десетичен знак за счетоводно приложение в долари?

  3. Отстраняване на неизправности при изчерпване на работни нишки

  4. XML Server Оптимизация на производителността на XML

  5. Архитектура на SQL Server AlwaysOn (група за наличност) и инсталация стъпка по стъпка -2