Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So verwenden Sie Hibernate Annotations, um einen Index zu einem Lob / Clob / Tinyblob hinzuzufügen

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.