【发布时间】:2012-01-26 22:09:39
【问题描述】:
我有 3 个表,它们之间没有任何关联,但表中的主键用作其他两个表中的列来检索数据。我是 hibernate 新手,还没有学会创建关联,但是我需要从 3 个表中查询数据并返回一个映射的对象类型。我正在使用 sql 查询来做到这一点:
Query q = session.createSQLQuery("select p.projectid, p.projecttitle, p.projectdescription from projects p join accounts a on p.accountid = a. accountid join addresses ad on ad.accountid = a.accountid where ad.zipcode=" + zipcode);
我尝试使用这条线:
List<Projects> projects = (List<Projects>)q.List();
转换它们,但它不起作用。
是否有任何方法可以将此查询返回的对象 (Lang.Object) 转换为映射的 Projects 对象?感谢您的帮助。
【问题讨论】:
-
你见过addEntity 吗?也许在这里可以提供帮助......
-
顺便说一句,您应该能够轻松地对这种关联进行建模并使用标准进行处理。项目有账户,账户有地址,地址有邮政编码。
-
“但它不起作用” - 它是否引发异常?还是什么都没有?
-
为了使用 addEntity,我需要关联吗?
-
抛出异常,Ljava.lang.object;无法转换为 Package.Projects。
标签: hibernate