1

以下は、hibernate のドキュメントからのコピーです。( http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#d0e2770 )

   @CollectionOfElements
    @JoinTable(
            table=@Table(name="BoyFavoriteNumbers"),
            joinColumns = @JoinColumn(name="BoyId")
    )
    @Column(name="favoriteNumber", nullable=false)

ただし、これを実際に使用すると、 @JoinTable には「テーブル」プロパティがなく、代わりにテーブル名を指定する「名前」プロパティがあることがわかりました。しかし、インデックスを指定するには「テーブル」プロパティが必要です。

何が起きてる?私はほとんど夢中になっています!

4

1 に答える 1

0

いいえ、そうではありません。このサンプルは正確ではありません。念のため@IndexColumn、このサンプルに表示される注釈はデータベースインデックスとは関係がなく、インデックス付きコレクション内の要素のインデックス番号を格納するために使用されます。しかし、私はあなたがそれを知っていると思います。

実際、ユースケースデータベースダイアレクトを指定するJiraの問題を提起することをお勧めします(FKでインデックスを生成することは、MySQLなどの一部のダイアレクトで機能するようですが、Oracleでは機能しないようです)。

于 2010-03-26T08:15:43.990 に答える