如何在Hibernate中为报表目的连接两个表?

时间:2012-07-19 08:37:28

标签: hibernate

我有像

这样的表格
Person{id, name, dob} 
employee{id, company_name, joining_date}. 

我需要根据公共列ID加入employee_report这两个表。 但我会得到

employee_report{id,name, dob, company_name, joining_date}

但是如何映射这个employee_report?它正在查询数据库但收到错误: 未知实体?

如何解决此问题。

3 个答案:

答案 0 :(得分:1)

如果实体之间没有关联,那么您可以使用HQL进行的唯一连接是使用ID上的where子句的内连接:

select person.id, person.name, person.dob, employee.companyName, employee.joiningDate
from Person person, Employee employee
where person.id = employee.id

此类查询会返回List<Object[]>,每个Object[]包含您选择的5个元素。

答案 1 :(得分:0)

假设您已创建视图 employee_report

您必须在Java代码中创建相应的实体(例如:EmployeeReport),并使用Hibernate进行映射。之后,您可以从数据库中获取员工报告。

答案 2 :(得分:0)

创造视野,听起来令人信服。这就是我在项目中遇到的这种要求。