【发布时间】:2012-07-09 09:00:20
【问题描述】:
对 JPA 来说相对较新,所以我有一种架构问题。 假设我有具有多对一关系的表 EMPLOYEE 和 DEPARTMENT(即许多员工为一个部门工作):
EMPLOYEE
EMPLOYEE_ID
EMPLOYEE_NAME
DEPARTMENT_ID
DEPARTMENT
DEPARTMENT_ID
DEPARTMENT_NAME
所以我可以为 Employee 和 Department 定义适当的实体,没有问题。但是,在一个视图中,我想显示为该部门工作的员工人数的部门列表,如下所示:
SELECT D.DEPARTMENT_NAME,
(SELECT COUNT(*) FROM EMPLOYEE E WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID) NUMBER_OF_EMPLOYEES
FROM DEPARTMENT D
我只是不确定使用 JPA 完成此任务的正确策略是什么... 我不想总是获取部门实体的员工人数,因为在需要时只有一个视图。
看起来 Hibernate 的 @Formula 是一种可能的方法,但它不符合 JPA 标准。
【问题讨论】:
标签: database hibernate jakarta-ee jpa