У меня есть два объекта во многих отношениях. Hibernate создает таблицу соединений для этой ассоциации, если hbm2ddl активирован. Однако, поскольку у меня нет объекта для этой таблицы, я не могу применить аннотацию @Index. Есть ли способ сообщить hibernate hbm2ddl для генерации индексов и первичного ключа в таблице соединений?Можно ли создавать индексы в таблице соединений с помощью аннотаций Hibernate и hbm2ddl?
2
A
ответ
0
Один из вариантов заключается в использовании auxiliary database objects, но для этого потребуется переключение с аннотаций JPA на традиционный файл .hbm.xml
.
Вот пример:
<!-- class mapping: -->
<class name="Entity1" table="Entity1">
<!-- insert other mappings here -->
<!-- this class's half of the many-to-many relationship: -->
<set name="Entity2s" table="TheJoinTable">
<key column="Entity1ID" />
<many-to-many class="Entity2" column="Entity2ID" />
</set>
</class>
<!-- auxiliary object: -->
<database-object>
<create>CREATE INDEX MyIndex ON TheJoinTable(Entity1ID)</create>
</database-object>
Другим вариантом является просто стиснуть зубы и создать полноценную организацию, чтобы заменить таблицу присоединиться. На самом деле это то, что я сделал в аналогичной ситуации.
Надеюсь, это поможет.
0
Вы можете применить индекс к аннотации таблицы коллекций. Например:
@javax.persistence.ElementCollection(fetch = javax.persistence.FetchType.LAZY)
@javax.persistence.CollectionTable(
name = "TheJoinTable",
indexes = {
@Index(name = "MyIndex", columnList = "Entity1ID")},
joinColumns = {
@JoinColumn(name = "TheJoinColumn")}
)
Смежные вопросы
- 1. Можно ли использовать jaxb с hibernate hbm2ddl?
- 2. Сообщите hibernate hbm2ddl не создавать отдельные таблицы
- 3. Hibernate не будет создавать индексы при создании таблиц из аннотаций
- 4. Как создать индекс для таблиц соединений с помощью аннотаций Hibernate?
- 5. Hibernate hbm2ddl с синонимами
- 6. Hibernate ConstraintViolationException в таблице соединений
- 7. Почему создание Hibernate Tools hbm2ddl не учитывает аннотации аннотаций Bean?
- 8. Можно ли создавать индексы с выражением выражений с использованием SQL?
- 9. Генерация схемы аннотаций Maven + Hibernate
- 10. Есть ли проблема с либерказой с hibernate hbm2ddl create?
- 11. Hibernate ManyToOne, дублирующий ключ в таблице соединений
- 12. Можно ли создавать индексы в Mongodb для динамических полей?
- 13. Hibernate hbm2ddl ant file paths
- 14. Создание схемы Hibernate hbm2ddl и тесты Maven
- 15. Можно ли создавать столбцы с помощью бутстрапа?
- 16. Можно ли создавать отчеты с помощью EXTJS?
- 17. Как настроить DDL, сгенерированный с помощью hbm2ddl Hibernate (используя аннотации)?
- 18. Ошибка генерации последовательности в HSQLDB с Hibernate с использованием hbm2ddl
- 19. Hibernate с помощью аннотаций или файлов xml?
- 20. Поддержка @ElementCollection в hibernate-инструментах hbm2ddl
- 21. Обновление hibernate-аннотаций и hibernate-validator
- 22. Можно ли «сериализовать?»? объект с помощью аннотаций в Java
- 23. Невозможно создать схему с помощью hbm2ddl
- 24. hibernate hbm2ddl boolean column typeCastException в dbunit
- 25. Можно ли создавать точки с помощью css и html?
- 26. Можно ли сгенерировать значение по умолчанию для определенного столбца базы данных с помощью hbm2ddl
- 27. Документирование кода POJO с помощью аннотаций Javax и проверки Hibernate
- 28. Hibernate: Есть как слияние и обновление с помощью аннотаций
- 29. Стоит ли создавать и использовать индекс в отсортированной таблице?
- 30. Hibernate критерии Java аннотаций