0

TimeTableタイプのオブジェクトのセットを含むクラスがありますYear。AYearには、への参照はありませんTimeTable

私のデータベースでは、関係は逆です'ラウンド:YEARSテーブルには外部キーがありますTIME_TABLE_ID

これらのクラスに永続性アノテーションを追加したいのですが、純粋なJPAの正確な構文を見つけることができません(現時点では使用したくないHibernateのみ)。

私はそれがこのようなsthである可能性があると思います:

class TimeTable{
....
@OneToMany
@JoinTable(name = "YEARS", 
  joinColumns = @JoinColumn(name = "TIME_TABLE_ID"), 
  inverseJoinColumns = @JoinColumn(name ="ID" ???))  // #### here ####
private Set<Year> years;
...
}

..しかし、このinverseJoinColumnが何であるかを知ることができません:(それはテーブルIDのエントリの名前ですか?TIMETABLE

4

2 に答える 2

0

IDはYearEntityの主キーに対応します

于 2012-12-04T09:54:03.720 に答える
0

逆結合列はオプションです。1対多の関係を設定する必要がないため、削除することをお勧めします。アノテーションは主に、@JoinTable多対多の関係をマッピングするために使用されます。これは、説明する必要のないシナリオです。これを多くの関係にマッピングするために@JoinTable使用する代わりに。@JoinColumn

class TimeTable{
....
@OneToMany
@JoinColumn(name = "TIME_TABLE_ID"); 
private Set<Year> years;
...
}

http://www.objectdb.com/api/java/jpa/JoinColumn

于 2012-12-04T09:57:14.167 に答える