1

私は休止状態で親/子シナリオを再現しようとしてきましたが、これを例として使用しました(休止状態は非常に新しい):

http://www.mkyong.com/hibernate/hibernate-one-to-many-relationship-example-annotation/

私の状況はこれに似ています。いくつかのタスクフローオブジェクトの一部である必要があるいくつかのタスクオブジェクトを持つプロジェクトに取り組んでいます。

  • したがって、タスクとタスクフローの2つのエンティティがあります。

  • Taskflowには、多数または少なくとも1つのタスクが必要です。

  • タスクテーブルにはすでにいくつかのタスクがあります。ここで、タスクフローオブジェクトにタスクのリストまたはセットが含まれるように、タスクフローテーブルにいくつかのエントリを挿入します。

私の元の質問で言及するのを忘れました:

  • タスクは多くの異なるタスクフロー内にある可能性があります

私のタスクフローは次のようになります:

class Taskflow{
   int taskflowid;
   String taskflowname;
   List<Task> tasklist;
}

データベースのタスクフローには2つのフィールドtaskflowidとがありtaskflownameます。

タスクは次のようになります。

class Task{
 //many properties/fields
}

私がグーグルで検索した例と比較したときにこの例を考慮に入れると、タスクからタスクフローに戻る何らかの関係が常にあります。それは必要ですか?taskflowにtaskへの参照を持たせたいだけです。これはすべて間違っていると思いますか?

4

2 に答える 2

1

リレーションシップを宣言しない場合は、単純なメンバー変数になります。休止状態で 1 対多の関係があることを理解するには、一部の for.hbmで指定する必要があります。annotation

@OneToMany //This for hibernate to understand that you have one to many relationship with Task
List<Task> tasklist;

タスク内

@ManyToOne
Taskflow taskFlow

列名の生成にはデフォルト名が使用されることに注意してください。こちらのチュートリアルを参照してください

于 2012-09-19T11:50:29.693 に答える
-1

Hibernate は、異なるカーディナリティ (1 対 1、1 対多/多対 1、多対多) および異なる方向性 (単方向または双方向) の関係をサポートします。

あなたの場合、多対多の関係があります。これは、一方向(一部でTaskあるすべての s のコレクションを含める必要がない場合TaskFlow)または双方向のいずれかです。

たとえば、 from からTaskFlowへの一方向の関係Task:

class Taskflow {
    ...
    @ManyToMany
    private List<Task> tasks;
    ...
}

以下も参照してください。

于 2012-09-19T11:53:30.440 に答える