Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
125 / 65 / 9
Регистрация: 19.04.2010
Сообщений: 196

NHibernate подскажите со связями many-to-many

25.06.2012, 17:44. Показов 1463. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть таблицы Card, GroupCard, Group. Между Card и Group существует связь many-to-many.

Это mapping Group
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="dao.domain.Group, dao" table="Group" lazy="false">
    <id name="Id" type="Int32" unsaved-value="0">
      <column name="ID" sql-type="int" not-null="true" unique="true" index="PK_Group"/>
      <generator class="native" />
    </id>
 
    <property name="Name" type="String">
      <column name="Name" not-null="false"/>
    </property>
    <property name="Description" type="String">
      <column name="Description" not-null="false"/>
    </property>
 
    <set name="Cards" table="GroupCard">
      <key column="GroupID"></key>
      <many-to-many column="CardID" class="dao.domain.Card" not-found="ignore">
      </many-to-many>
    </set>
 
  </class>
</hibernate-mapping>
Это mapping для Card
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="dao.domain.Card, dao" table="Card" lazy="false">
    <id name="Id" type="Int64" unsaved-value="0">
      <column name="ID" sql-type="bigint" not-null="true" unique="true" index="PK_Card"/>
      <generator class="native" />
    </id>
 
    <property name="FirstName" type="String">
      <column name="FirstName" not-null="false"/>
    </property>
    <property name="LastName" type="String">
      <column name="LastName" not-null="false"/>
    </property>
    <property name="MiddleName" type="String">
      <column name="MiddleName" not-null="false"/>
    </property>
 
    <property name="Created" type="DateTime">
      <column name="Created" sql-type="datetime" not-null="true" index="Created"/>
    </property>
    <property name="Updated" type="DateTime">
      <column name="Updated" sql-type="datetime" not-null="true" index="Updated"/>
    </property>
 
    <property name="Number" type="Int64">
      <column name="Number" sql-type="bigint" not-null="true" index="Number" unique="true"/>
    </property>
    <property name="Status" />
 
    <set name="Groups" table="GroupCard">
      <key column="CardID"></key>
      <many-to-many class="dao.domain.Group" not-found="ignore"></many-to-many>
    </set>
  </class>
</hibernate-mapping>
Выдает он вот такую ошибку
2012-06-25 17:46:48,536 ERROR [8] NHibernate.Tool.hbm2ddl.SchemaUpdate [?.lambda_method]: Unsuccessful: alter table GroupCar
d add constraint FKA3AB790B1E1DACD2 foreign key (GroupID) references Group
System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near the keyword 'Group'.
at System.Data.SqlClient.SqlConnection.OnEr ror(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnect ion.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExc eptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunB ehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopy
SimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExec uteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.Interna lExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.Execute NonQuery()
at NHibernate.Tool.hbm2ddl.SchemaUpdate.Exe cute(Action`1 scriptAction, Boolean doUpdate)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.06.2012, 17:44
Ответы с готовыми решениями:

NHibernate
Здравствуйте, подскажите, пожалуйста, а nHibernate предназначен только для сетевых приложений или для обычных тоже можно использовать, а то...

nhibernate
есть кто работает с ним? Есть вопрос о том как правильно офорлять вебконфиг и фаил маппинга.

NHibernate mapping
Доброго времени суток! Есть база данных и соответственно мое приложение конструкцию взял из книги по NHibernate. Ну, а теперь меньше...

1
1 / 1 / 1
Регистрация: 20.08.2012
Сообщений: 16
21.08.2012, 21:50
Скорее всего имя таблицы Group совпадает с зарезервированным словом вашей СУБД. Попробуйте взять его в экранирующие символы вашей СУБД или переименовать таблицу.
Хотя, запрос судя по всему генерируется Hibernat'ом, поэтому лучше попробовать изменить имя таблицы.
Я например перед всеми таблицами пишу t_, а перед справочными таблицами r_. Еще ни разу не было совпадений с ключевыми словами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.08.2012, 21:50
Помогаю со студенческими работами здесь

NHibernate MySql
Здравствуйте, подскажите в чем ошибка Пытаюсь подключится к MySql sessionFactory = Fluently.Configure().Database( ...

Nhibernate OneToOne(or zero)
Добрый вечер, использую NHibernate, и все шло хорошо до маппинга OneToOne, когда я пытаюсь получить данные из таблицы Candidate, она...

MVC с использованием NHibernate
Доброго времени суток. Сразу скажу, что в программировании почти полный профан. Но волею судьбы появилась острая необходимость создать...

Nhibernate хранимые процедуры
Доброго времени суток Мне нужно создать хранимую процедуру в базе данных при маппинге процедура CREATE PROCEDURE FileAdd ( ...

NHibernate. Материализация данных
Суть проблемы изложена тут http://stackoverflow.com/questions/43480270/nhibernate-asqueryable-linq-analogue Кратко: есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru