Java 如何解决org.hibernate.MappingException:没有JDBC类型的方言映射:-4

Java 如何解决org.hibernate.MappingException:没有JDBC类型的方言映射:-4,java,hibernate,Java,Hibernate,我在代码中的查询是 ArrayList lst = genericDao.query("select * from fdfiles where fileid = " + fileId); 在这一行我得到了一个例外 Caused by: org.hibernate.MappingException: No Dialect mapping for JDBC type: -4 我如何克服上述例外情况 我的hibernate具有属性 <property name="hibernateProp

我在代码中的查询是

 ArrayList lst = genericDao.query("select * from fdfiles where fileid = " + fileId);
在这一行我得到了一个例外

Caused by: org.hibernate.MappingException: No Dialect mapping for JDBC type: -4
我如何克服上述例外情况

我的hibernate具有属性

<property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.cache.use_query_cache">false</prop>
            <prop key="hibernate.cache.use_second_level_cache">false</prop>
            <prop key="hibernate.generate_statistics">true</prop>
        </props>
    </property>

当hibernate尝试转换结果列表实际列表时,
hibernate
无法识别列
数据类型时,JDBC类型:-4的无方言映射出现异常

尝试使用
HSQL
获取如下记录

假设您的
fdfiles
映射到
fdfiles
实体

Query query = session.createQuery("SELECT fd.propert1,fd.property2 FROM FdFiles fd WHERE fd.fileId = :fileId");
                query.setParameter("fileId", fileId);
                List<FdFiles> list = query.list();
Query Query=session.createQuery(“从FdFiles fd中选择fd.propert1、fd.property2,其中fd.fileId=:fileId”);
query.setParameter(“fileId”,fileId);
List=query.List();

[1]您使用的是哪种驱动程序?[2] 您能提供完整的堆栈跟踪吗?但如果我像上面那样做,即使是关联的表值也会被检索,这是非常昂贵的。我在fdfiles中使用继承,所以有没有办法只检索所需的表数据。您可以在选择列表中添加所选属性。我已经更新了我的帖子
Query query = session.createQuery("SELECT fd.propert1,fd.property2 FROM FdFiles fd WHERE fd.fileId = :fileId");
                query.setParameter("fileId", fileId);
                List<FdFiles> list = query.list();