Быстрый вопрос NHibernate

Когда вы инициализируете массив в Java, он получает значение по умолчанию 0 для примитива int:

int[] array = new int[MAX_SIZE]; 

Тот факт, что вы не видите желаемого ввода 1,2,3,4, является отдельным проблема с вашим кодом Scanner.

8
задан Kevin Pang 11 January 2009 в 19:12
поделиться

4 ответа

То, что Вы ищете, ряда элементов, который в стандарте hbm отображение является:

<set name="Roles" table="UserRoles">
  <key column="UserID" />
  <element column="Role" />
</set>

Для Быстрого NHibernate можно отобразить это как так:

HasMany<string>(x => x.Roles)
  .AsElement("Role");

Вы, возможно, должны также указать ключевое использование имени WithKeyColumn(string).

13
ответ дан 5 December 2019 в 10:05
поделиться

Я полагаю, что это было бы

public User()
  {
    Id(x => x.UserID);
    HasMany<UserRoles>(x => x.UserRoles).AsBag();
  }

Необходимо будет также удостовериться, что Вы отображаете свой класс UserRoles также

0
ответ дан 5 December 2019 в 10:05
поделиться

Это также работало:

HasMany<Role>(u => u.Roles)
                .WithTableName("UserRoles")
                .Component(role => role.Map(r => r.Name))
                .AsList();

Вы не должны отображать Роль или UserRoles.

Удостоверьтесь Ролевые реализации IEquatable < Role > ;.

0
ответ дан 5 December 2019 в 10:05
поделиться

FWIW это незначительно изменилось на сегодняшний день. Текущее отображение таково

HasMany<string>(x => x.Roles)
  .Element("Role");
4
ответ дан 5 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: