有关SQLServer中varchar和nvarchar的区别可以直接去google。一般在中文系统中应该使用nvarchar作为字符串的对应类型,但是Hibernate中的默认实现SQLServerDialect使用了varchar。以下方法可以简单地转为使用nvarchar: 自己写一个dialect,继承SQLServerDialect,在构造器中将原先varchar类型的注册声明覆盖: registerColumnType(Types.VARCHAR, "nvarchar($l)"); registerColumnType(Types.VARCHAR, “nvarchar($l)”); 千万注意,“$”后面的是字段长度的占位符,是“l(ength)”,而不是数字“1”(因为看hibernate的doc时没分清“l”和“1”,浪费了我一上午去找原因) 然后在hibernate的配置文件中将hibernate.dialect的值设为你的dialect实现类就OK了
烫手的
- 生活,就是一个期待跟着一个期待 - 被踩了 6,372 脚
- 悼念该悼念的,记住该记住的,知道该知道的 - 被踩了 1,569 脚
- 解决android 2.2下无法更新gmail、voice search、google search、street view - 被踩了 1,230 脚
- 关于 - 被踩了 1,113 脚
- 死于青春 - 被踩了 1,057 脚
近期评论
- CSDN这回一石激起千层浪了 | 拈花微笑 发表在《请教新浪》
- 牛肉丝 发表在《Sina,I服了U》
- 牛肉丝 发表在《一路走好》
- CSDN这回一石激起千层浪了 | 拈花微笑 发表在《猜想:互联网ID,“死号”判定与回收》
- CSDN这回一石激起千层浪了 | 拈花微笑 发表在《Sina,I服了U》
