Puoi farlo usando ausiliario di Hibernate oggetti supporto, ma non può essere fatto usando le annotazioni :-(.
Nel tuo esempio, sarebbe simile a questo (molte cose omesse per brevità):
<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>
Mi scuso per la mancanza di una risposta basata su annotazioni :-(. Speriamo che questo aiuti.
NOTA :Se segui questo approccio, tieni presente che l'ambito del dialetto deve corrispondere esattamente . Ad esempio, se la configurazione di Hibernate dice di utilizzare MySQL5InnoDBDialect
, allora devi avere questo dialetto nel <dialect-scope>
anche l'elemento. Utilizzo di MySQLDialect
non funzionerà anche se è la superclasse del dialetto InnoDB.