如果我們在Hibernate中需要查詢多個表的不同字段,如何來獲取結果呢?
有兩種方式:
1、 對各個字段分別轉化成對應類型,如下:
Java代碼
- Query
q "= session.createQuery( select members, classInfo.className " + -
from Members members, ClassInfo classInfo " + -
where );members.level = classInfo.classCode " -
- List
result = q.list(); - Iterator
it = result.iterator(); - while
(it.hasNext()) { -
Object[] tuple = (Object[]) it.next(); -
Members members = (Members) tuple[ ]; -
String className = (String) tuple[ ]; - }
2、構造自己的復合類型,如下:
Java代碼
- Query
q "= session.createQuery( select new NewMembers(members, classInfo.className) " + -
from Members members, ClassInfo classInfo " + -
where );members.level = classInfo.classCode "
當然我們需要有一個NewMembers類和相應的構造方法。