繁体   English   中英

为什么需要使用mapledBy注解?

[英]Why do I need to use mappedBy Annotation?

鉴于这种形象 ,我想知道我是否应该使用JoinColumn在我用的是同一时间mappedBy其他文件。 或者,如果我不需要使用mappedBy ,那就可以了!

有人可以告诉我为什么我们需要使用mappedBy吗?

Employee.java

@Id
@GeneratedValue
@Column(name="employee_id")
private Long employeeId;

@Column(name="firstname")
private String firstname;

@Column(name="lastname")
private String lastname;

@Column(name="birth_date")
private Date birthDate;

@Column(name="cell_phone")
private String cellphone;

@ManyToOne
@JoinColumn(name="department_id")
private Department department;

public Employee() {

}

public Employee(String firstname, String lastname, String phone) {
    this.firstname = firstname;
    this.lastname = lastname;
    this.birthDate = new Date(System.currentTimeMillis());
    this.cellphone = phone;
}

// Getter and Setter methods

部门.java

@Id
@GeneratedValue
@Column(name="DEPARTMENT_ID")
private Long departmentId;

@Column(name="DEPT_NAME")
private String departmentName;

@OneToMany(mappedBy="department")
private Set<employee> employees;

// Getter and Setter methods

为什么需要使用“ mappedBy”? 您可以使用它来定义一个关系为BIDIRECTIONAL并指定关系的另一面(对于1-1,在FK一侧指定它,对于1-N,在集合侧指定它)。 因此,如果您的关系是单向的,则不必“必须”指定。 阅读任何一半不错的JPA文档都会告诉你; 您的实现文档不是告诉您这一点吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM