Możesz to zrobić za pomocą pomocnika Hibernate obiekty wsparcie, ale nie można tego zrobić za pomocą adnotacji :-(.
W twoim przykładzie wyglądałoby to mniej więcej tak (wiele rzeczy pominiętych dla zwięzłości):
<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>
Przepraszam za brak odpowiedzi opartej na adnotacjach :-(. Mam nadzieję, że to pomoże.
UWAGA :jeśli zdecydujesz się na takie podejście, pamiętaj, że zakres dialektu musi odpowiadać dokładnie . Na przykład, jeśli konfiguracja Hibernate mówi, aby użyć MySQL5InnoDBDialect
, musisz mieć ten dialekt w <dialect-scope>
również element. Korzystanie z MySQLDialect
nie zadziała, mimo że jest superklasą dialektu InnoDB.