powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / 2 класса для одной сущности (NHibernate)
13 сообщений из 38, страница 2 из 2
2 класса для одной сущности (NHibernate)
    #36841036
barser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курдльbarser,

У меня ораклевый маппинг как-то попроще:
Код: plaintext
1.
Id(x => x.DOC_ID).Column("DOC_ID").GeneratedBy.Native("SEQ_DOC_ID");
Так куда денешься, ели некоторые СУБД имеют последовательности, некоторые - генераторы, а некоторые ублюдочные - только недавно доросли до IDENT_CURRENT ;)
Да, Native - по-моему, тоже более правильный вариант. Я сейчас не помню что именно, но у нас с ним что-то в Oracle не работало... Настроили вместо этого на Sequence... Вот теперь хороший повод попробовать вернуться :)
А вообще с Oracle еще нормально HiLo работает - когда делал batch insert в StatelessSession, всё как-то пошустрее выполнялось...
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841054
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSolYUtorИли я идиот, или Вы что-то не так делаете :)

Ёпт, ну теперь всё ясно :)

Работа/topic/648112

SolYUtorЕсть познания в .NET и C#. Коммерческого опыта к сожалению нет.Надеюсь компенсировать начитанностью и желанием :)

18 мар 2009



P.S. Значит-таки я не совсем ещё идиот. Имхо
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841332
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barser
А вообще с Oracle еще нормально HiLo работает

Уб-б-бейте меня! (с)
Я наверное что-то упустил в своем образовании, но мне казалось, что это "хайло" формирует новый ID на стороне клиента СУБД, просто присваивая старшее значение из всех существующих. Это так, или я заблуждаюсь?
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841373
barser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курдльbarser
А вообще с Oracle еще нормально HiLo работает

Уб-б-бейте меня! (с)
Я наверное что-то упустил в своем образовании, но мне казалось, что это "хайло" формирует новый ID на стороне клиента СУБД, просто присваивая старшее значение из всех существующих. Это так, или я заблуждаюсь?

Почти. В случае Оракла HiLo - берет старшие разряды из сиквенса, а младшие - формирует на стороне клиента. То есть, если у тебя nextval в сиквенсе, например, 100, то id будут типа 10001, 10002,...,100N, где N - задается настройками генератора HiLo. Так работает с Ораклом.
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841375
barser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barser,

удобно тем, что при вставке большого числа записей хибер не будет обращаться к базе каждый раз за новым значением сиквенса, а возьмет его всего один раз. Или, если N < числа вставляемых записей, несколько раз, но всё равно )

Но в последовательности id'шников будут большие бреши, если это кому-то важно...
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841384
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barserНо в последовательности id'шников будут большие бреши, если это кому-то важно...
Это не важно. А Вы уверены, что у Вашей БД во все времена будет только один клиент - Ваше приложение?
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841412
barser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КурдльbarserНо в последовательности id'шников будут большие бреши, если это кому-то важно...
Это не важно. А Вы уверены, что у Вашей БД во все времена будет только один клиент - Ваше приложение?

Наоборот. Уверен, что в этом проекте будут и другие клиенты (например, MS Access...). В их случае нужно, наверное, триггер писать, который будет брать nextval из сиквенса, умножать его на N и подставлять в поле id...

А вообще вариант работы прикладного ПО с бд только через единственный слой dao мне представляется самым верным. То есть клиентских приложений может быть много разных (веб- и виндовз-приложения), но все они должны работать с одним общим ядром, в которое входит dao. Или я не прав?
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841417
barser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barser,

ошибся... везде вместо dao - dal (data access layer)... устал, наверное)
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841424
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barser,

У вас в команде архитектор есть?
Если это не Вы - не берите в голову!

...Надо в IT, как в строительстве - ввести должность главного инженера проекта, который, как и у строителей, имел бы свою личную печать и отвечал за технический успех (провал) проекта. А личная печать - чтобы в случае провала, его на работу больше никто бы не взял...
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841426
barser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курдльbarser,
...Надо в IT, как в строительстве - ввести должность главного инженера проекта, который, как и у строителей, имел бы свою личную печать и отвечал за технический успех (провал) проекта. А личная печать - чтобы в случае провала, его на работу больше никто бы не взял...

))))
За такую ответственность надо и платить как в строительстве :)
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36841432
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barser,

Кто ответил за ЕГАИС?
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36846980
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barserКурдльbarserНо в последовательности id'шников будут большие бреши, если это кому-то важно...
Это не важно. А Вы уверены, что у Вашей БД во все времена будет только один клиент - Ваше приложение?

Наоборот. Уверен, что в этом проекте будут и другие клиенты (например, MS Access...). В их случае нужно, наверное, триггер писать, который будет брать nextval из сиквенса, умножать его на N и подставлять в поле id...

А вообще вариант работы прикладного ПО с бд только через единственный слой dao мне представляется самым верным. То есть клиентских приложений может быть много разных (веб- и виндовз-приложения), но все они должны работать с одним общим ядром, в которое входит dao. Или я не прав?

После этого поста я послал Вас... к архитектору ;)
Так вот. Никогда не пытайтесь подменить механизм генерации идентификаторов СУБД своим (да еще таким неуклюжим)!
...
Рейтинг: 0 / 0
2 класса для одной сущности (NHibernate)
    #36847014
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльНикогда не пытайтесь подменить механизм генерации идентификаторов СУБД своим (да еще таким неуклюжим)!
+1

P.S. В топку всякие хило и иже.
...
Рейтинг: 0 / 0
13 сообщений из 38, страница 2 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / 2 класса для одной сущности (NHibernate)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]