Есть ли у @JoinTable свойство «таблица» или нет? - PullRequest
1 голос
/ 26 марта 2010

Следующее скопировано из документа 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" для указания имени таблицы. Но мне нужно свойство "таблица", чтобы указать индексы.

Что здесь происходит? Я почти сошел с ума!

1 Ответ

0 голосов
/ 26 марта 2010

Нет, это не так, этот образец не является точным. На всякий случай, аннотация @IndexColumn, которую вы видите в этом примере, не имеет ничего общего с индексом базы данных, она используется для хранения номера индекса элемента в индексированной коллекции. Но я думаю, вы знаете об этом.

На самом деле, я бы предложил поднять проблему Jira, указав ваш вариант использования и ваш диалект базы данных (кажется, что создание индекса на FK работает с некоторыми диалектами, такими как MySQL, но не с скажем Oracle).

...