私はPersonとPhoneの間の単純な関係をしたいと思います。この場合、1人は多くの電話番号を持つことができます。@OnetoMany関係Hibernate Spring MVC
はこのように、私がモデルで、この関係を使用しています。要約:
クラスの人( "ペソア"):
@Entity
public class Pessoa {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private int idPessoa;
@OneToMany(mappedBy = "pessoa", targetEntity = Telefone.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<Telefone> telefone;
public int getIdPessoa() {
return idPessoa;
}
public void setIdPessoa(int idPessoa) {
this.idPessoa = idPessoa;
}
public List<Telefone> getTelefone() {
return telefone;
}
public void setTelefone(List<Telefone> telefone) {
this.telefone = telefone;
}
}
クラスの電話番号( "Telefone"):
@Entity
public class Telefone {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private int idTelefone;
private TipoTelefone tipoTelefone;
private int numeroTelefone;
@ManyToOne
@JoinColumn(name="idPessoa")
private Pessoa pessoa;
public TipoTelefone getTipoTelefone() {
return tipoTelefone;
}
public void setTipoTelefone(TipoTelefone tipoTelefone) {
this.tipoTelefone = tipoTelefone;
}
public int getNumeroTelefone() {
return numeroTelefone;
}
public void setNumeroTelefone(int numeroTelefone) {
this.numeroTelefone = numeroTelefone;
}
}
私はなぜ知らないが、携帯電話に関連するデータidPessoa(idPerson)ではなく、テーブル間の関係が失われました。形で使用
他のすべて件のデータが、でもOnetoOne関係がうまく記録され、これだけOneToMayは、問題を提示しています。
を使用することができます私はまた、休止状態では初心者ですが、私はあなたが以下のようなidpersonためにどこかにデータを設定する必要があると思う:telephone.setPerson(人)のためにデータベースが更新されています。 – user8271644
意図的にゲッターとセットを 'Telefone'クラスに表示していないのですか?コードでそれらを見逃しましたか?適切なゲッタとセッタがなければ、問題が発生する可能性があります。 – raiyan
私は逃しゲッタとセッタを追加しましたが、まだ動作しませんでした –