struts和hibernate用到的代码://struts
String HQL =
"SELECT s.corp_Name,s.corp_Id,sc2.corp_Name FROM Sys_Corporation s LEFT JOIN Sys_Corporation sc2 " +
"ON s.super_Corp=sc2.corp_Id";
List list = dao.findBySql(HQL);
//hibernate
public List<?> findBySql(String sql) {
List<?> list = null;
try{
session = this.getSession();
list = session.createSQLQuery(sql).list();
}catch(Exception e){
log.error("CommonDAO.findBySql Exception");
}finally{
this.sessionTransactionGc();
}
return list;
}
谁能告诉我怎么回事么????????????
Hibernate 的 createSQLQuery()方法会把查询的数据映射为对象,你在后面加上实体类的类名就可以了
程序里取到的值是在debug模式下的。数据库最开始取到的值就有问题后面怎么弄都是错的吧。
我的问题是嵌入式sql语句和在pl-sql developer同样的sql语句查到的东西不一样。不是如何构造的问题。java嵌入式sql查到的东西有错误
SELECT s.corp_Name,s.corp_Id,sc2.corp_Name FROM Sys_Corporation s , Sys_Corporation sc2
where s.super_Corp=sc2.corp_Id
一个简单的条件查询而已。没必要用连接查询。
看不懂啊?那我再写一次吧,哎。如下:select fugongsi.corp_name, ziji.corp_name from Sys_Corporation ziji ,Sys_Corporation fugongsi where ziji.super_corp = fugongsi.corp_id ;
list = session.createSQLQuery(sql).list();
只要你这么写,它就不是纯SQL。
ResultSet = st.executeQuery(sql);
这个才叫纯SQL,懂?
我写的是sql,不是hql。。
我的问题就是一模一样的sql,程序里面的和pl-sql developer里面的结果不一样。