Как я могу определить «полностью определенные отношения» в JPA, как. NET Entity Framework - PullRequest
0 голосов
/ 14 марта 2020

Entity Framework поддерживает различные типы определения. Примеры: https://www.entityframeworktutorial.net/code-first/configure-one-to-many-relationship-in-code-first.aspx

Я хочу определить OneToMany как Пример 4 (Конвенция 4) в JPA. Как я могу сделать это в JPA?

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }

    public int CurrentGradeId { get; set; }

    [ForeignKey("CurrentGradeId")] 
    public Grade CurrentGrade { get; set; }
}

public class Grade
{

    public int GradeId { get; set; }
    public string GradeName { get; set; }

    public ICollection<Student> Student { get; set; }
}

Существует ForeignKey (CurrentGradeId) и EntityRefenrence (CurrentGrade) Grade в StudentObject.

Нет никакой разницы между обновлением ForeignKey (CurrentGradeId) или обновление EntityReference (CurrentGrade). Оба указывают на один и тот же столбец таблицы.

1 Ответ

0 голосов
/ 14 марта 2020

Если вы спрашиваете о Spring и JPA, вы можете сделать следующее

@Entity
public class Student
{
    @Id
    public int Id;

    public string Name;

    @OneToMany(mappedBy = "student") 
    public List<Grade> grades;

    // getters and setters and constructors
}

@Entity
public class Grade
{

    @Id
    public int GradeId;
    public string GradeName;

    @ManyToOne
    public Student student;

    // getters and setters and constructors
}

Вы бы использовали аннотации @OneToMany и @ManyToOne, как указано выше.

...