关于sql语句转化成hql语句的问题,高分追加!! 100
在Hibernate查询中,我用sql语句查询:select*fromzxaszwherez.idin(selecttop1zx.idfromzx,zxTywherez....
在Hibernate查询中,我用sql语句查询:select * from zx as z where z.id in(select top 1 zx.id from zx,zxTy where z.zx_id=zxTy.id and zx.zx_id=zxTy.id order by zx.dataTime desc) order by dataTime desc
就会报这个错
org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
现在没办法只能用hql语句查询了,但是这句sql语句转化成hql语句怎么转,我转了几次都报错。高手请进! 展开
就会报这个错
org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
现在没办法只能用hql语句查询了,但是这句sql语句转化成hql语句怎么转,我转了几次都报错。高手请进! 展开
3个回答
展开全部
你sql语句中含有top是转化不了hql的,但是你可以绕过hibernate直接用jdbc查询,我给你写个例子:Session session=mySessionFactory.currentSession();
Transaction ts=session.beginTransaction();
Connection conn=session.connection();
PreparedStatement stmt=conn.prepareStatement(“insert into teacher(name) values(?)”);
for(int i=0;i<10000;i++){
stmt.setString(1,”teacher”+i);
stmt.addBatch();
}
stmt.executeBatch();
ts.commit();
MySessionFactory.closeSession();
你吧啊中间改成你需要的操作就可以了,应该会改吧?
Transaction ts=session.beginTransaction();
Connection conn=session.connection();
PreparedStatement stmt=conn.prepareStatement(“insert into teacher(name) values(?)”);
for(int i=0;i<10000;i++){
stmt.setString(1,”teacher”+i);
stmt.addBatch();
}
stmt.executeBatch();
ts.commit();
MySessionFactory.closeSession();
你吧啊中间改成你需要的操作就可以了,应该会改吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啥玩意,指定个方言就得了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hql的选择语句不需要"select"语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询