2013-12-11 35 views
1

我已经继承了一个使用SQLServer 2008(也许是2005)的项目。某些表使用Hibernate无法处理的nvarchar(255)和nvarchar(MAX)。我已经试过这些提议的解决方案:如何让Hibernate映射nvarchar和ntext?

How can Hibernate map the SQL data-type nvarchar(max)?

http://blog.cherouvim.com/sql-server-hbm2ddl-unicode-columns/

他们不与工作为nvarchar(MAX),很遗憾。我得到这个例外

Caused by: org.hibernate.HibernateException: Wrong column type in MTP.dbo.Impact 
edDetail for column Message. Found: ntext, expected: nvarchar(255) 

剩下的问题是让这些解决方案之一与nvarchar(MAX)一起工作。

有没有办法让Hibernate使用这些unicode列类型?如果Hibernate无法工作,我可以切换到另一个知道如何正确处理它们的JPA提供程序。

谢谢。

回答

1

我能够通过在Entity类的相应字段上使用@Lob注释来处理nvarchar(MAX),同时在上面的链接中使用了SqlServerNativeDialect类。