Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como usar as anotações do Hibernate para adicionar um índice em um Lob / Clob / tinyblob


Você pode fazer isso usando o auxiliar do Hibernate objetos support, mas não pode ser feito usando anotações :-(.

No seu exemplo, seria algo assim (muitas coisas omitidas por brevidade):
<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>

Peço desculpas pela falta de uma resposta baseada em anotações :-(. Espero que isso ajude.

OBSERVAÇÃO :Se você adotar essa abordagem, esteja ciente de que o escopo do dialeto deve corresponder exatamente . Por exemplo, se sua configuração do Hibernate diz para usar MySQL5InnoDBDialect , você deve ter esse dialeto no <dialect-scope> elemento também. Usando MySQLDialect não funcionará mesmo sendo a superclasse do dialeto InnoDB.