Добавление индексов в таблицу через весну после уже созданной таблицы
Я прочитал из другого поста на stackru следующее:
Если вы используете JPA 2.1, вы можете использовать аннотацию класса @Table с ее индексами атрибутов.
@Table(indexes = { @Index(name = "IDX_MYIDX1", columnList = "id,name,surname") })
Обратите внимание, что, как говорится в документации
Они используются только в случае генерации таблицы. По умолчанию никаких дополнительных индексов нет.
Я понимаю, что этот подход не изменяет индексы, если таблица уже создана. Есть ли другой способ добавить индексы с помощью Spring (а не напрямую обращаться к базе данных)?
1 ответ
Вы можете выполнить свой собственный скрипт SQL при запуске с помощью.
org.springframework.jdbc.datasource.init.DataSourceInitializer
<bean id="startupScripts" class="org.springframework.jdbc.datasource.init.DataSourceInitializer">
<property name="dataSource"><ref bean="dataSource"/></property>
<property name="databasePopulator"><ref bean="use ResourceDatabasePopulator"/></property>
</bean>