在我的 Oracle 数据库中,我有两个示例表:
- 带有
A列的表格id,a1,a2,a3 - 带有
B列的表格id,b1,b2,b3
我有从这两个表中获取信息的视图:
CREATE VIEW Foo ("A.id", "A.a1", "A.a2", "A.a3", "B.id", "B.b1", "B.b2", "B.b3") AS
SELECT aaa.*, bbb.*
FROM A aaa, B bbb
WHERE
...some conditions...;
在我的 Java 应用程序中,我想Foo通过 Hibernate 的视图获取信息结果。所以我必须使用createSQLQuery()方法:
public List<SomeObject> findSomeObjects() {
Query q = sessionFactory.getCurrentSession()
.createSQLQuery("select f.* from Foo f")
.addEntity(A.class).addEntity(B.class);
List l = q.list();
//here I want to get object of A class and B class from return l
//and prepare return list of SomeObject
}
SomeObject是 A 类和 B 类的总和。
我从返回列表和构造列表中获取 A 类和 B 类的对象有问题SomeObject。我怎样才能正确地做到这一点?
编辑
- 表
A还有一列,这是表fk_c的外键C - 表
B还有一列,这是表的外fk_d键D