sqlserverhibernate
發布時間: 2023-07-08 01:44:07
① hibernate 映射 sqlserver varchar(max)類型
有關SQLServer中varchar和nvarchar的區別可以直接去google。一般在中文系統中應該使用nvarchar作為字元串的對應類型,但是Hibernate中的默認實現SQLServerDialect使用了varchar。以下方法可以簡單地轉為使用nvarchar:
自己寫一個dialect,繼承SQLServerDialect,在構造器中將原先varchar類型的注冊聲明覆蓋:
registerColumnType(Types.VARCHAR, "nvarchar($l)");
千萬注意,「$」後面的是欄位長度的佔位符,是「l(ength)」,而不是數字「1」(因為看hibernate的doc時沒分清「l」和「1」,浪費了我一上午去找原因)
然後在hibernate的配置文件中將hibernate.dialect的值設為你的dialect實現類就OK了
熱點內容