以下内容是从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没有“ table”属性,而是具有“ name”属性来指定表名。但是我需要“表”属性来指定索引。
这里发生了什么?我快要疯了!
最佳答案
不,不是,此样本不准确。以防万一,在本示例中看到的@IndexColumn
批注与数据库索引无关,它用于将元素的索引号存储在索引集合中。但是我想你已经意识到了。
实际上,我建议提出一个Jira问题来指定您的用例和数据库方言(似乎在FK上生成索引可用于某些方言,例如MySQL,但不适用于Oracle)。