使用JPA&创建与表的关系Hibernate(Spring)

时间:2018-04-17 18:53:38

标签: hibernate spring-data spring-data-jpa

我需要用这个表创建这个关系(图1):

Figura 1

关系是1-N Disciplina教授。

我的表格代码是:

Disciplina:

@Entity
@Table(name = "TBL_DISCIPLINA")
public class Disciplina {

  @Id
  @Column( name = "ID_DISCIPLINA")
  @NotNull
  long codigo;


  @NotNull
  @Column( name = "ST_NOME_DISCIPLINA")
  @Size(max = 100)
  String nome;

  @NotNull
  @Column( name = "ST_NOME_PROFESSOR")
  @Size(max = 100)
  String prof;

  @NotNull
  @Column( name = "URL_IMG")
  String img;

  //I will add gets and  sets here
}

教授:

@Entity
@Table(name = "TBL_PROFESSOR")
public class Professor {

  @Id
  @Column(name = "ID_PROFESSOR")
  @NotNull
  long id;

  @NotNull
  @Column( name = "ST_NOME_PROFESSOR")
  @Size(max=100)
  String nome;

  @NotNull
  @Column( name = "ST_ENDERECO")
  @Size(max=300)
  String endereco;

  @NotNull
  @Column( name = "CO_EMAIL")
  @Size(max=100)
  String email;

  @NotNull
  @Column( name = "CO_TELEFONE")
  @Size(max=11)
  String telefone;

  @NotNull
  @Column( name = "DT_DATA_NASC")
  @Size(max=100)
  Date dataN;

  @NotNull
  @Column( name = "DC_CPF")
  @Size(max=11)
  String cpf;

  @NotNull
  @Column( name = "DC_RG")
  @Size(max=11)
  String rg;

  @Column( name = "URL_IMG_ALUNO")
  String url;

  @NotNull
  @Column( name = "PW_SENHA_PROFESSOR")
  @Size(max=50)
  String senha;

  //I will add gets and sets here
}

如何使用这2个表制作@ManyToOne和OneToMany。我需要一个例子来做这种关系。

如何将这两个表互连?我应该用@ManyToOne还是@OneToMany来做?是否有必要为外键添加额外的字段?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:1)

本文逐步介绍如何创建一对多和多对一的映射。还解释了hibernate JPA的双向关系

<强> https://www.callicoder.com/hibernate-spring-boot-jpa-one-to-many-mapping-example/