@TableIndexes({@Index(name = "code", fields = "code")})
实体类上加@TableIndexes注解,然后里边每一个@Index注解可以理解成一个索引的声明。
@TableIndexes({@Index(name="idx_user_record_user_id",fields={"userId"},unique=false), 2 @Index(name="index_name",fields={"fieldName1","fieldName2"},unique=false)})
@Index注解中具体参数说明如下:
name 索引名称。由于索引是全局的,为了避免冲突,名称中建议加上表名。
fields 索引属性集合,也就是说在哪些属性上创建索引。因为索引不仅仅可以加在一个字段上,加在多个字段上叫联合索引。注意,小菜一直在强调属性,fields中的值是实体属性名称,而不是数据库表中的字段名称。
unique 是否是唯一索引。索引大致有三种类型:普通索引、唯一索引、全文索引。普通索引没得说,就是简单的加一个索引,unique=false就是普通索引;唯一索引就是在普通索引的基础上加了一个唯一性约束,保证该字段不重复,unique=true就是唯一索引;