小编Ngu*_*gun的帖子

JPA/Hibernate Join和Fetch单列

我是JPA/Hibernate的新手.假设我有这两个表:

  • 员工(Id,Name,DeptId,..)// DeptId是外键.
  • 部门(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 ***
    }
Run Code Online (Sandbox Code Playgroud)

在我的应用程序DAO中,每当我访问Employee实体时,我只需要将部门名称作为员工实体的一部分,而不需要部门表中的任何其他部分.

  1. 如何获取部门.只列名称列,而不是员工实体中的整个部门行(需要避免对部门制作的大型集合进行急切的提取)?如果是这样,我应该使用什么注释?
  2. 如何在这种情况下处理级联?

hibernate jpa

5
推荐指数
1
解决办法
8679
查看次数

标签 统计

hibernate ×1

jpa ×1