Mysql
 sql >> Database >  >> RDS >> Mysql

Come utilizzare le annotazioni di ibernazione per aggiungere un indice su un Lob / Clob / tinyblob

Puoi farlo usando ausiliario di Hibernate oggetti supporto, ma non può essere fatto usando le annotazioni :-(.

Nel tuo esempio, sarebbe simile a questo (molte cose omesse per brevità):

<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>

Mi scuso per la mancanza di una risposta basata su annotazioni :-(. Speriamo che questo aiuti.

NOTA :Se segui questo approccio, tieni presente che l'ambito del dialetto deve corrispondere esattamente . Ad esempio, se la configurazione di Hibernate dice di utilizzare MySQL5InnoDBDialect , allora devi avere questo dialetto nel <dialect-scope> anche l'elemento. Utilizzo di MySQLDialect non funzionerà anche se è la superclasse del dialetto InnoDB.