建立索引時,一般字段 和 @ManyToOne等關聯注解標識的字段 對於 字段名的寫法有一定差別。
1、一般字段
@Table(indexes = { @Index(columnList = "shareType"), }) @Column(nullable = false) private ShareType shareType; //分享類型
shareType 屬性在數據庫中對應的字段是 share_type,但 @Index 中columnList如果填入 share_type 則會報錯,必須填寫屬性名 shareType。
2、@ManyToOne等關聯注解標識的字段
@Table(indexes = { @Index(columnList = "app_user"), }) @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(nullable = false,foreignKey = @ForeignKey(name = "none",value = ConstraintMode.NO_CONSTRAINT)) @JsonIgnore private AppUser appUser;
appUser 屬性 被@ManyToOne標注,此時 @Index的columnList必須填寫 數據庫真實字段名 app_user,而不能填寫屬性名 appUser。
