Sie könnten dies mit Hibernates Hilfsprogramm tun Objekte Unterstützung, aber es kann nicht mit Anmerkungen gemacht werden :-(.
In Ihrem Beispiel würde es etwa so aussehen (viele Dinge wurden der Kürze halber weggelassen):
<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>
Ich entschuldige mich für das Fehlen einer annotationsbasierten Antwort :-(. Hoffentlich hilft das.
HINWEIS :Wenn Sie diesen Ansatz wählen, beachten Sie, dass der Geltungsbereich des Dialekts exakt übereinstimmen muss . Zum Beispiel, wenn Ihre Hibernate-Konfiguration vorschreibt, MySQL5InnoDBDialect
zu verwenden , dann müssen Sie diesen Dialekt im <dialect-scope>
haben Element ebenso. Verwenden von MySQLDialect
wird nicht funktionieren, obwohl es die Oberklasse des InnoDB-Dialekts ist.