我在我的sql-2005数据库中有一个列,它曾经是一个varchar(max),但是已经被更改为nvarchar(max).
现在我需要更新我的hibernate映射文件来反映这个变化,这是以前的:
<element type=”text” column=”Value”/>
当我尝试运行应用程序时,出现以下错误:
org.hibernate.HibernateException: Wrong column type in [Table] for column Value. Found: ntext,expected: text
在“type”属性中应该放置什么来正确地将列映射为nvarchar(max)?
我已经尝试将类型设置为ntext,但是hibernate不知道是什么.我尝试将类型设置为字符串,但它将字符串视为文本类型.
解决方法
对我来说有用的是将实际的列定义放在@Column注释中:
@Column(name="requestXml",columnDefinition = "ntext") private String request;