2009-08-31 16 views
8

Używam NHibernate HiLo jako mojego generatora tożsamości. Obecnie mam oddzielną tabelę w mojej bazie danych dla każdej z tabel moich encji. Na przykład mam tabelę Customer i CustomerKey, każda z kolumną NextHiLo.NHibernate HiLo - jedna tabela dla wszystkich podmiotów

Co jest świetną rzeczą jest posiadanie pojedynczej tabeli, która ma kluczowe znaczenie dla wszystkich innych. Idealy byłoby gdybym mógł mieć tabeli tak:

TableName | NextHiLo 
Customer | 19 
Invoice | 5 
Receipt | 3 

Jeśli isnt't możliwe z NHibernate, najlepszym rozwiązaniem byłoby:

CustomerHiLo | InvoiceHiLo | ReceiptHiLo 
19 | 5 | 3 

jest jedną z dwóch opcji powyżej posible osiągnąć - skrypt generowania schematów opracowany przez NHibernate nie ma zamiaru obsługiwać żadnego z nich?

+0

Wiem, że to pytanie jest stare, ale jak to rozwiązałeś? Próbuję rozwiązać ten sam problem. Próbowałem twoje pierwsze podejście tylko z 2 kolumnami, ale wydaje się, że moje identyfikatory są ciągłe w wielu tabelach. –

Odpowiedz

12

Czy próbowałeś użyć właściwości where generatora hilo? Coś jak:

<class name="Customer"> 
    <id name="Id"> 
     <generator class="hilo"> 
      <param name="where">TableName = 'Customer'</param> 
      ... 
     </generator> 
    </id> 
    ... 
</class> 
Powiązane problemy