Du kan göra detta med Hibernates hjälpfunktion objekt stöd, men det kan inte göras med anteckningar :-(.
I ditt exempel skulle det se ut ungefär så här (många saker utelämnade för korthetens skull):
<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>
Jag ber om ursäkt för avsaknaden av ett annoteringsbaserat svar :-(. Förhoppningsvis hjälper detta.
OBS :Om du använder detta tillvägagångssätt, var medveten om att dialektomfattningen måste matcha exakt . Till exempel, om din Hibernate-konfiguration säger att du ska använda MySQL5InnoDBDialect
, då måste du ha denna dialekt i <dialect-scope>
element också. Använder MySQLDialect
kommer inte att fungera även om det är superklassen för InnoDB-dialekten.