Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment utiliser Hibernate Annotations pour ajouter un index sur un Lob / Clob / tinyblob

Vous pouvez le faire en utilisant l'auxiliaire d'Hibernate objets support, mais cela ne peut pas être fait en utilisant des annotations :-(.

Dans votre exemple, cela ressemblerait à quelque chose comme ceci (beaucoup de choses omises par souci de brièveté) :

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

Je m'excuse pour l'absence de réponse basée sur des annotations :-(. J'espère que cela vous aidera.

REMARQUE  :Si vous adoptez cette approche, sachez que la portée du dialecte doit correspondre exactement . Par exemple, si votre configuration Hibernate indique d'utiliser MySQL5InnoDBDialect , alors vous devez avoir ce dialecte dans le <dialect-scope> élément également. Utilisation de MySQLDialect ne fonctionnera pas même s'il s'agit de la super-classe du dialecte InnoDB.