mappedBy的含义

一直不太明白mappedBy有什么用,今天看一本书的,终于找到了答案,记录一下:

public class TrainingProgram{
   ......
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "trainingProgram")
    private Set<Course> courses = new HashSet<Course>();
   ......
}

The @OneToMany annotation tells JPA that a relationship is established between Course
and TrainingProgram, so that when queries are issued, JPA can write the proper SQL
statements. You’ve used the mappedBy attribute, which describes the name of the attribute
in the Course object that represents the related TrainingProgram.

 

public class Course{
    ......
    @ManyToMany(cascade = CascadeType.ALL, mappedBy = "courses")
    private Set<Tag> tags = new HashSet<Tag>();
    ......
}

As you can see, the mappedBy attribute defines the name of the set within the Tag
entity and establishes that Course is not in charge of persisting the Tags. In a bidirectional
many-to-many relationship, one side must be the primary, and the other side
must be the inverse side. The inverse side is indicated here as Course, because it
defines the mappedBy attribute.

 

你可能感兴趣的:(mappedBy的含义)