У нас есть приложение, которое в настоящее время поддерживает базы данных Oracle и SQL Server.Мы находимся в процессе перехода на NHibernate из другого ORM.
Наши сопоставления идентификаторов (для оракула) в итоге выглядят так:
<id name="Id" column="FoozId">
<generator class="native">
<param name="sequence">Fooz_SEQ</param>
</generator>
</id>
Мы не можем просто использовать «native», потому что для этого используется одна последовательность всей базы данных, и нам нужнопо одному на тип объекта.
Мы пытаемся использовать идею повторного перетаскивания, обсуждаемую здесь , и она, кажется, работает достаточно хорошо для таких вещей, как обрезание имен таблиц длиной более тридцати символов и т. Д.не выясните, как удалить параметр sequence из наших отображений, когда мы их пропускаем.Мы по-прежнему хотим использовать собственный генераторный класс для SQL Server, но опускаем имя последовательности.
Это будет выполнимо или нам потребуется сгенерировать два набора сопоставлений?