Mam kolumnę w mojej bazy danych SQL-2005, które kiedyś varchar (max), ale został zmieniony na nvarchar (max).W jaki sposób hibernować można mapować nvarchar (max) typu danych SQL?
Teraz trzeba zaktualizować plik mapowania hibernacji w celu odzwierciedlenia zmian, i to, co było kiedyś:
< typ elementu = "text" column = "Wartość"/>
Kiedy próbuję uruchomić aplikację, pojawia się następujący błąd:
org.hibernate.HibernateException: Niewłaściwy typ kolumny w tabeli [] w kolumnie Wartość. Znaleziono: ntext, oczekiwano: text
Co należy umieścić w atrybutu 'typ', aby poprawnie odwzorować kolumny jako nvarchar (max)?
Próbowałem ustawić typ na ntext, ale hibernacja nie wiedział, co to było. Próbowałem ustawić ten typ na string, ale potraktowałem string jako typ tekst.
dlaczego zarejestrowałeś również typ kolumny COLB?i co ten 1 dolar oznacza w nvarchar (1 $)? Dzięki –
To było dawno temu i nie pamiętam, ale registerColumnType() odwzorowuje typy SQL na typy Hibernacji. $ l (L, nie # 1) to pasujący wzorzec, który reprezentuje długość kolumny nvarchar. Jeśli kolumna nvarchar ma określoną długość, zostanie odwzorowana na typ VARCHAR. Jeśli kolumna nvarchar ma maksymalną długość, zostanie odwzorowana na typ CLOB. – ampersandre
Należy pamiętać, że dla serwera sql 2014 musiałem * usunąć * nadpisaną metodę 'getTypeName' w powyższym kodzie !! – vikingsteve