当前位置:编程学习 > JAVA >>

怎样在hibernate里面使用原生SQL

select (select min(sporttime) from Psport)+level-1 from  dual connect by level<=trunc(sysdate)-(select min(sporttime) from Psport)+1 minus select sporttime from Psport where pid ="+pid+"";

sportime--------DATE
pid------------VARCHAR2

这是我的SQL语句 在MyEclipse中报 

line 1:71: unexpected token: by


求各位大神 给解答一下 或者 给变成HQL 能在hibernate里面运行的~! --------------------编程问答--------------------


sql="";
session.createSQLQuery(sql).list();

--------------------编程问答-------------------- 呃,我看错题意了。把我忽略 --------------------编程问答--------------------   不可以直接使用sql吗?   SQLQuery  query=session.createSQLQuery(sql).addEntity(Psport.clasee);
  就可以  取的时候和hql一样。
--------------------编程问答-------------------- 底层已经搭建好不能动了~~! --------------------编程问答-------------------- 你们的项目大吗?
个人感觉hibernate不够灵活,改成MyBatis会好些,所有SQL必须手写,这样性能更高。 --------------------编程问答-------------------- 你先看你的sql在你数据库中能执行不,如果能的话在Hibernate中基本也行。不过要用SQLQuery 这个接口。 --------------------编程问答--------------------


public boolean insetInfo(final UserBean userBean,final int[] depIds) throws Exception {
// TODO Auto-generated method stub
List list= (List)getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException{
for (int i = 0 ; i < depIds.length ; i++)
{
String sql ="insert into tbl_user_dep (userId,depId) values(?,?)";
Query query= session.createSQLQuery(sql);
query.setParameter( 0, userBean.getUserId());
query.setParameter( 1, depIds[i]);
query.executeUpdate();
session.flush();
session.clear();
}
Object o = null;
return o;
}
});
return true;
}
--------------------编程问答-------------------- --------------------编程问答--------------------
引用 3 楼 qq737604771 的回复:
  不可以直接使用sql吗?   SQLQuery  query=session.createSQLQuery(sql).addEntity(Psport.clasee);
  就可以  取的时候和hql一样。



session 是哪个包里的 --------------------编程问答-------------------- hibernate文档,使用native SQL --------------------编程问答-------------------- --------------------编程问答-------------------- HQL不行? --------------------编程问答-------------------- 你的数据库版本是否支持嵌套查询 --------------------编程问答-------------------- session 是org.hibernate.XX提供的

引用 9 楼 unbelievable2010 的回复:
引用 3 楼 qq737604771 的回复:

不可以直接使用sql吗?   SQLQuery  query=session.createSQLQuery(sql).addEntity(Psport.clasee);
就可以  取的时候和hql一样。



session 是哪个包里的



补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,