我在执行hibernatesql语句查询是报No Dialect mapping for JDBC type: -9错误,sql语句是:select top 3 name from sys.tables where name like 'LogInfo_%' and name <= 'LogInfo_2015_01' order by Name desc,是查询数据库表名称的,数据库测试语句没问题,数据库是SQLserver2008,各位大神帮看看啦,小弟第一次逛这里,对于悬赏什么的都不是很清楚,也没金币,但还是厚着脸皮问问各位大神,谢谢了
and name <= 'LogInfo_2015_01'
name是字符串,怎么能 <='LogInfo_2015_01'
oracle sql不支持top,可以用rownum<=3这个条件来实现
http://blog.csdn.net/xd195666916/article/details/5419316
import org.hibernate.dialect.SQLServerDialect;
public class SqlServer2008Dialect extends SQLServerDialect {
public SqlServer2008Dialect() {
super();
registerHibernateType(1, "string");
registerHibernateType(-9, "string");
registerHibernateType(-16, "string");
registerHibernateType(3, "double");
}
}
name的数据类型是nvarchar吗?如果是改为varchar类型应该能运行,但是这个治标不治本,这是hibernate没映射nvarchar