Vous pouvez le faire en utilisant l'auxiliaire d'Hibernate objets support, mais cela ne peut pas être fait en utilisant des annotations :-(.
Dans votre exemple, cela ressemblerait à quelque chose comme ceci (beaucoup de choses omises par souci de brièveté) :
<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>
Je m'excuse pour l'absence de réponse basée sur des annotations :-(. J'espère que cela vous aidera.
REMARQUE :Si vous adoptez cette approche, sachez que la portée du dialecte doit correspondre exactement . Par exemple, si votre configuration Hibernate indique d'utiliser MySQL5InnoDBDialect
, alors vous devez avoir ce dialecte dans le <dialect-scope>
élément également. Utilisation de MySQLDialect
ne fonctionnera pas même s'il s'agit de la super-classe du dialecte InnoDB.