Spring 我该如何定义;完全定义的关系”;在类似JPA的.NET实体框架中
实体框架支持不同的定义类型。示例: 我想在JPA中定义像示例4(约定4)一样的OneToMany。我如何在JPA中做到这一点Spring 我该如何定义;完全定义的关系”;在类似JPA的.NET实体框架中,spring,jpa,spring-data-jpa,Spring,Jpa,Spring Data Jpa,实体框架支持不同的定义类型。示例: 我想在JPA中定义像示例4(约定4)一样的OneToMany。我如何在JPA中做到这一点 public class Student { public int Id { get; set; } public string Name { get; set; } public int CurrentGradeId { get; set; } [ForeignKey("CurrentGradeId")] public Gr
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; }
}
公共班级学生
{
公共int Id{get;set;}
公共字符串名称{get;set;}
public int CurrentGradeId{get;set;}
[外键(“当前等级ID”)]
公共等级CurrentGrade{get;set;}
}
公营班级
{
public int GradeId{get;set;}
公共字符串GradeName{get;set;}
公共ICollection学生{get;set;}
}
在StudentObject中有等级的ForeignKey(CurrentGradeId)和EntityReference(CurrentGrade)
更新ForeignKey(CurrentGradeId)和更新EntityReference(CurrentGrade)之间没有区别。两者都指向同一个表列。假设您询问的是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
}
@实体
公立班学生
{
@身份证
公共int Id;
公共字符串名称;
@OneToMany(mappedBy=“学生”)
公开名单职系;
//getter、setter和构造函数
}
@实体
公营班级
{
@身份证
公共int GradeId;
公共字符串名称;
@许多酮
公立学生;
//getter、setter和构造函数
}
您可能会像上面那样使用@OneToMany和@ManyToOne注释。存在误解。我还想定义studentId,比如Grade对象中的字段。因为在某些情况下,我将使用studentId字段,在某些情况下使用对象引用(student)。