【发布时间】:2020-07-10 22:09:54
【问题描述】:
我有一个非规范化的数据库表,其中包含员工和他们工作的部门:
EmployeeId EmployeeName DepartmentId DepartmentName
1 Bob 1 HR
2 Lisa 1 HR
...
DepartmentId 和 EmployeeId 是复合主键。我无法更改数据库。我想将此映射到两个实体:
@Entity
@Data
class Employee {
@Id
@Column("employeeId")
private int id;
@Column("employeeName")
private String name;
@ManyToOne
private Department department;
}
@Entity
@Data
class Department {
@Id
@Column("departmentId")
private int id;
@Column("departmentName")
private String name;
}
但这不起作用。如何解释我的逻辑(对象)模型和数据库(物理)模型之间的这种阻抗不匹配?我见过hierarchical 解决此问题的方法,但我认为这不适用于我的场景,因为 Employee 和 Department 没有任何层级关系。
【问题讨论】:
标签: hibernate jpa orm hibernate-mapping