2009-07-28 9 views
7

właśnie uaktualniony do NHibernate 2.1 od 2,0 W/O zmianie mojego schematu teraz pojawia się błąd:NHibernate: "Kolumna" Zarezerwowane słowo "nie należy do tabeli ReservedWords." Błąd

Column 'Reserved Word' does not belong to table ReservedWords.

podczas próby .OpenSession().

mogę dodać właściwość:

<property name="hbm2ddl.keywords">none</property> 

do pliku hibernate.cfg.xml, który "naprawia" błąd.

Warto jednak wiedzieć, dlaczego ten błąd występuje podczas aktualizacji i jak mogę to naprawić.

+0

co DBMS? . –

+0

Widziałeś ten wątek? http://groups.google.com/group/nhusers/browse_thread/thread/87811677a167c3c9 –

+0

Otrzymuję podobny błąd. Czy możesz podać dodatkowe informacje na temat swojej konfiguracji? Mój to MySQL 5.1, MySQL -> .NET 6.1, .NET 3.5 SP1 i NHibernate 2.0. Używam również Fluent-NHibernate 1.0 RTM. –

Odpowiedz

1

Zrobione z http://fabiomaulo.blogspot.com/2009/06/auto-quote-tablecolumn-names.html

NHibernate dodano możliwość automatycznego cytowania tabeli i nazwy kolumn, które są zastrzeżone słowa dla wybranej bazy danych.

Na przykład, jeśli masz klasę z właściwością "Zamówienie", jeśli spróbujesz: WYBIERZ Zlecenie z MyTable, wówczas większość baz danych nie będzie analizować zapytania. W MSSQL, musiałbyś wykonać SELECT [Order] From MyTable, aby go uruchomić (stąd cytowanie pól).

Generalnie w NHibernate można cytować pola za pomocą `backticks` - ie. w twoim mapowaniu określenie kolumny dla Order jako Order pozwoliłoby ci wtedy użyć kolumny o nazwie Order.

Zmiana w NHibernate umożliwia automatyczne cytowanie pól, które mają być cytowane, dzięki czemu nie trzeba ręcznie dodawać cudzysłowów.

Zrobione z tego adresu URL, na przykład mapowania:

<class name="Order"> 
    <id type="int"> 
     <generator class="native"/> 
    </id> 
    <property name="Select"/> 
    <property name="From"/> 
    <property name="And"/> 
    <property name="Column"/> 
    <property name="Name"/> 
</class> 

będzie działać bez konieczności zacytować dowolny z tabel lub kolumn nazwami

Powiązane problemy