sql >> Database >  >> RDS >> Mysql

Hibernate-annotaties gebruiken om een ​​index toe te voegen aan een Lob / Clob / tinyblob

U kunt dit doen met Hibernate's hulpprogramma objecten ondersteuning, maar het kan niet worden gedaan met behulp van annotaties :-(.

In jouw voorbeeld zou het er ongeveer zo uitzien (veel dingen weggelaten voor de beknoptheid):

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

Mijn excuses voor het ontbreken van een op annotaties gebaseerd antwoord :-(. Hopelijk helpt dit.

OPMERKING :Als u deze benadering volgt, moet u er rekening mee houden dat het dialectbereik exact moet overeenkomen . Als uw Hibernate-configuratie bijvoorbeeld zegt dat u MySQL5InnoDBDialect moet gebruiken , dan moet je dit dialect hebben in de <dialect-scope> element ook. MySQLDialect gebruiken zal niet werken, ook al is het de superklasse van het InnoDB-dialect.



  1. MySQL-database herstellen vanuit fysieke bestanden

  2. Functie om mediaan te berekenen in SQL Server

  3. Django cache.set() veroorzaakt dubbele sleutelfout

  4. PHP/ODBC-coderingsprobleem