67,550
社区成员




select
student0_.id as id1_0_,
course2_.id as id4_1_,
student0_.Sno as Sno1_0_,
student0_.Sname as Sname1_0_,
student0_.Sdept as Sdept1_0_,
student0_.Sage as Sage1_0_,
student0_.Ssex as Ssex1_0_,
student0_.Saddress as Saddress1_0_,
course2_.Cno as Cno4_1_,
course2_.Cname as Cname4_1_,
course2_.Ccredit as Ccredit4_1_
from
joblog.student student0_
left outer join
sc course1_
on student0_.id=course1_.sno
left outer join
joblog.course course2_
on course1_.cno=course2_.id where
student0_.Sname='李XXX'
//当不是查询全字段,或者是从两张表中联合查询数据时,返回的是一个数组:
Session session = HibernateSessionFactory.getSession();
Query query = session.createQuery("select a.id,b.title,b.username from A as a,B b");
//这里的A,B依然是对象
List list = query.list();//这里每一行都是一个1维数组
for(int i=0;i<list.size();i++)
{
Object []o = (Object[])list.get(i); //转型为数组
int id = (Integer)o[0]; //和select中顺序的类型相对应,可以是类
String title = (String)o[1];
String username = (String)o[2];
System.out.println("id:"+id+" , "+"title"+title+" , "+username);
}
HibernateSessionFactory.closeSession();
查询结果集的大小
(Integer)session.createQuery("select count(*) from User").iterate().next();
不知道可不可以帮助你,要是还是不行,恕老夫无能为力了。。。。<class name="" table="busin_name" >
<composite-id name="comp_id" class="po的名称">
<key-property name="id" column="id" type="java.lang.Long" length="10" />
<key-property name="business_id" column="business_id" type="java.lang.Long" length="10" />
</composite-id>
<many-to-one name="a" class="a" update="false" insert="false" >
<column name="id " />
</many-to-one>
<many-to-one name="b" class="b" update="false" insert="false" >
<column name="business_ID" />
</many-to-one>
</class>
一个小范例,联合主键的写法