Можете да направите това с помощта на помощник на Hibernate обекти поддръжка, но не може да се направи с помощта на анотации :-(.
Във вашия пример ще изглежда така (много неща са пропуснати за краткост):
<class name="Person" table="persons">
<!-- whatever -->
<database-object>
<create>create index sysuuid on persons ( system, `uuid`(8) )</create>
<drop>drop index sysuuid</drop>
<dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect" />
</database-object>
</class>
Извинявам се за липсата на отговор, базиран на пояснения :-(. Надяваме се това да помогне.
ЗАБЕЛЕЖКА :Ако приемете този подход, имайте предвид, че диалектният обхват трябва да съвпада точно . Например, ако вашата конфигурация за хибернация казва да използвате MySQL5InnoDBDialect
, тогава трябва да имате този диалект в <dialect-scope>
елемент също. Използване на MySQLDialect
няма да работи, въпреки че е супер-класът на диалекта InnoDB.