Top / Java / Seasar2 / Kuina-Dao / TIPS集

多対一の関連がある場合を設定したい場合

たとえば 給与の明細(多)と給与(一)の関連がある場合。

たとえばこんなコードだったとします。

  @Temporal(TemporalType.DATE)
  @Column(name = "SALARY_DATE")
  private Date salaryDate;
    
  //Getter/Setterは省略。
}

この場合は、明細側のクラスに@ManyToOne?の関連を設定します。やり方は、もともとフィールドにFKがあるので、それをコメントアウト。そのフィールドのGetter/Setterも削除。代わりに、親クラスのフィールドとGetter/Setterを以下のように作成する。

@Entity
@Table(name = "SALARY_DETAIL")
public class SalaryDetail {
  @Id
  @GeneratedValue
  private Integer id;

  // @Column(name = "PARENT_ID")
  // private Integer parentId;

  @ManyToOne
  @JoinColumn(name = "PARENT_ID")
  private Salary salary;
  public Salary getSalary() {
    return salary;
  }

  public void setSalary(Salary salary) {
    this.salary = salary;
  }
  ....
}

この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / Java / Seasar2 / Kuina-Dao / TIPS集

現在のアクセス:4922


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS