Můžete to udělat pomocí pomocného nástroje Hibernate objekty podporu, ale nelze to provést pomocí anotací :-(.
Ve vašem příkladu by to vypadalo asi takto (spousta věcí je pro stručnost vynechána):
<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>
Omlouvám se za chybějící odpověď na základě anotace :-(. Snad to pomůže.
POZNÁMKA :Pokud použijete tento přístup, uvědomte si, že rozsah dialektu musí odpovídat přesně . Například pokud vaše konfigurace Hibernate říká, že se má použít MySQL5InnoDBDialect
, pak musíte mít tento dialekt v MySQLDialect
nebude fungovat, i když je to supertřída dialektu InnoDB.