用hibernate的xml配置来建索引

来源:互联网 发布:美服战网客户端mac 编辑:程序博客网 时间:2024/06/03 21:22

现在我都是用这种ORM框架来建数据表了,根本不用手动建,爽到。

今天我来给工作上的项目的一个字段加个索引,就用hibernate来加,还有点难加上。

主要看了2个stackOverFlow:

https://stackoverflow.com/questions/858336/how-to-use-hibernate-annotations-to-add-an-index-on-a-lob-clob-tinyblob/860955#860955

https://stackoverflow.com/questions/27320209/set-index-length-of-text


3个关键点:

1.hibernate.hbm2ddl.auto 要设为 create 或 create-drop

2.在表的单独xml里加上一些东西:


<hibernate-mapping>    <class name="com.company.MyTable" table="MY_TABLE">        ...        <property name="url" column="url" type="text"/>        ...    </class>    <database-object>        <create>CREATE INDEX url_idx ON MY_TABLE (`url`(30))</create>        <drop>DROP INDEX ON MY_TABLE `url_idx`</drop>        <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"></dialect-scope>    </database-object></hibernate-mapping>
3.那个啥要设成这个:

<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>


好像就行了。

hibernate也是老框架了,xml配置也大概没什么人用。不过我写一篇来记一下,说不定能帮到。

我还在spring boot里配过hibernate双xml配置数据源,用来把一个老库读出来做一些处理,存到一个新的库。好像也挺难配的,以后可以写一篇。


原创粉丝点击