现在我都是用这种ORM框架来建数据表了,根本不用手动建,爽到。
今天我来给工作上的项目的一个字段加个索引,就用hibernate来加,还有点难加上。
主要看了2个stackOverFlow:
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配置数据源,用来把一个老库读出来做一些处理,存到一个新的库。好像也挺难配的,以后可以写一篇。