Du kan gøre dette ved at bruge Hibernates hjælpefunktion genstande support, men det kan ikke gøres ved hjælp af anmærkninger :-(.
I dit eksempel ville det se sådan ud (mange ting udeladt for kortheds skyld):
<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>
Jeg undskylder for manglen på et annotationsbaseret svar :-(. Forhåbentlig hjælper dette.
BEMÆRK :Hvis du tager denne tilgang, skal du være opmærksom på, at dialektomfanget skal matche nøjagtigt . For eksempel, hvis din Hibernate-konfiguration siger, at du skal bruge MySQL5InnoDBDialect
, så skal du have denne dialekt i <dialect-scope>
element også. Brug af MySQLDialect
vil ikke fungere, selvom det er superklassen af InnoDB-dialekten.