【发布时间】:2012-08-31 21:35:17
【问题描述】:
我是 JPA/Hibernate 的新手。假设我有这两张表:
- Employee (Id, Name, DeptId, ..) // DeptId 是外键。
- Department (Id, DeptName, ..) // 部门单独保留
以及以下实体:
@Entity
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String name;
private long salary;
@OneToOne(cascade = {CascadeType.PERSIST})
@JoinColumn(name="DEPT_ID")
private Dept dept;
...
}
@Entity
public class Dept {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String name;
...
**other huge collections with eager fetch ***
}
在我的应用程序 DAO 中,每当我访问 Employee 实体时,我只需要将部门名称作为员工实体的一部分,而不需要部门表中的其他任何内容。
- 如何获取部门。仅名称列而不是员工实体中的整个部门行(需要避免急于获取部门收集的大量数据)?如果是,我应该使用哪些注释?
- 在这种情况下如何处理级联?
【问题讨论】: