1

我是新来的冬眠。我有一个场景,我使用 Xstream 框架将表导出为 XML 格式并导入数据库表的另一个实例,其中我的应用程序带有 Hibernate 和 spring。

一个实例,其中表的一列是数据库中的 nvarchar(max)。当我从 xml 插入表时,它没有给出以下错误。

造成的:

java.sql.SQLException: The data types nvarchar(max) and ntext are incompatible in the equal to operator.  
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)  
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)  
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258)  
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632)  
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:477)  
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery  (JtdsPreparedStatement.java:778)  
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery  (WrappedPreparedStatement.java:342)  
at org.hibernate.persister.entity.AbstractEntityPersister.getDatabaseSnapshot(AbstractEntityPersister.java:1021)  
at org.hibernate.engine.StatefulPersistenceContext.getDatabaseSnapshot(StatefulPersistenceContext.java:246)  
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:189)  
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512)  
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80)  
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)  
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)  
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)  
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)  
at org.springframework.orm.hibernate3.HibernateTemplate$18.doInHibernate(HibernateTemplate.java:772)  
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)  

我使用了上述提供的解决方案......但对我没有任何帮助。

我使用 SQL 2008 服务器作为数据库和休眠 3 罐。它工作正常,最多 4000 个字符,但列超过它不起作用。并给出上述例外

请建议如何解决这个问题。

4

0 回答 0