0

休止状態と mysql を使用して Spring 3 フレームワークでこれが可能かどうかはわかりませんが、助けていただければ幸いです。Employee と Examiner の 2 つのクラスがあります。審査官は従業員であり、従業員も審査官です。同時に、各検査官は 1 人以上の従業員を検査でき、従業員は 1 人の検査官のみを持つことができます。

基本的に私が知りたいのは、従業員と審査官の間の継承を示すと同時に、一方向の 1 対多を審査官から従業員にマッピングできるかどうかです。

私がこれまでに持っているもの - 継承制約のある Examiner テーブル:

CREATE TABLE `examiner` (
`employee_id` varchar(255) NOT NULL,
`employee_name` varchar(255) NOT NULL,
 PRIMARY KEY (`enployee_id`),
 FOREIGN KEY (`employee_id`) REFERENCES `employee` (`employee_id`)): 

従業員テーブル:

 CREATE TABLE `employee` (
`employee_id` varchar(255) NOT NULL,
`employee_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`employee_id`)):

1 対多の動作を示す結合テーブルを考えていましたが、primarykeyjoin 列があるため、テーブルの複合キーを取得することはできません。

私は何日も困惑していたので、これをまとめるための助けをいただければ幸いです.

4

2 に答える 2

0

Java では多重継承が許可されていないため、インターフェイスを使用していない限り、上記の 2 つのクラスを相互にインスタンス化する方法がわかりません。

EmployeeExaminer というクラスを作成して、それ自体を参照させることができます。注釈を付けると、次のようになります。

@Entity
public class EmployeeExaminer {
  @ManyToOne
  private EmployeeExaminer getExaminer() {/*...*/}

  @OneToMany
  private List<EmployeeExaminer> getEmployees() { /*...*/}
}

注釈に関するドキュメントは、こちらにあります

于 2013-04-09T14:33:07.407 に答える
-1

@CodeChimp さん、返信ありがとうございます。私は最終的に最初の提案に従い、@onetomany および @manytoone アノテーションを使用して Self Reference クラスを作成しました。そのためのヘルパー クラスが機能します。親/子を追加するためのコントローラーとjspページの実装に問題があります。しかし、私はそのために新しい質問をします。再度、感謝します。

于 2013-04-20T13:58:28.573 に答える