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();