【发布时间】:2019-11-25 03:56:54
【问题描述】:
我有以下spring-data-jpa 实体:
@Entity(name = "absenceDays")
@Table
public final class MyTable {
@EmbeddedId
private MyId myId;
@Column(nullable = false)
private Long anotherId;
}
此外,这是上面使用的@Embeddable 实体:
public final class MyId implements Serializable {
@Column(updatable = false, nullable = false)
private Long id;
@Column(updatable = false, nullable = false)
private LocalDate date;
}
我有几个问题?
- 表是否已经用它们的主键索引了?它似乎是特定于实现的,如此处所述When should I use primary key or index?
- 如果我需要索引我的表,我应该如何使用 JPA 2.1
@Index注释使用复合 id 索引我的表?
我选择的数据库是带有 MySQL InnoDB 方言的 AWS RDS。
【问题讨论】:
-
为什么不检查生成的架构?在任何情况下:不要使用 JPA 模式生成来设置或维护您的生产数据库模式。使用专门用于此目的的工具,例如 Flyway 或 Liquibase。
标签: mysql indexing spring-data-jpa primary-key composite-key