Как устранить неполадки схемы в Hibernate? - PullRequest
0 голосов
/ 23 октября 2009

Я немного играю с Hibernate. Я создал класс «Group» и привязанную к нему XML-схему. К сожалению, когда я пытаюсь экспортировать эту схему, мой .NET жалуется на синтаксическую ошибку Я почти уверен, что моя схема искажена, но есть ли способ помочь в устранении неполадок?

Моя XML-схема выглядит так:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
               assembly="Folke"
               namespace="Folke.Code.Domain">
  <class name="Group">
    <id name="Id">
      <generator class="native"></generator>
    </id>
    <property name="SiteId" />
    <property name="Name" index="GroupName"/>
  </class>
</hibernate-mapping>

ASP.NET жалуется, что здесь есть синтаксическая ошибка:

new SchemaExport(HibernateModule.CurrentConfiguration).Execute(false, true, false, false);

Синтаксическая ошибка "около группы". Я почти уверен, что проблема в схеме группы, но, опять же, я понятия не имею, где искать, чтобы получить немного больше деталей.

Ответы [ 2 ]

2 голосов
/ 23 октября 2009

«Группа» - это зарезервированное слово в SQL (часть GROUP BY имени предложения).

Подумайте, можно ли по-другому назвать свой класс или явно указать другое имя таблицы с помощью атрибута table в сопоставлении class:

<class name="Group" table="MyGroups">
1 голос
/ 27 октября 2009

Если вы хотите сохранить имя таблицы Group, вы можете заключить его в кавычки, используя символ обратной черты в атрибуте table вашего отображения классов. например:

<class name="Group" table="`Group`">  

Это приведет к тому, что имя таблицы будет заключено в кавычки на любом диалекте, который вы используете при генерации SQL. например, [Group] в MSSQL T-Sql или "Group" в DB2 SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...