@Entity
@Table(name = "account", indexes = {
@Index(name = "verify_code_idx", columnList = "verify_code, verify_expire"),
@Index(name = "reset_code_idx", columnList = "reset_code, reset_expire")
})
public class Account implements Principal {
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "code", column = @Column(name = "verify_code", unique = true)),
@AttributeOverride(name = "expire", column = @Column(name = "verify_expire"))
})
@Nullable
private ExpiringCode verify;
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "code", column = @Column(name = "reset_code", unique = true)),
@AttributeOverride(name = "expire", column = @Column(name = "reset_expire"))
})
@Nullable
private ExpiringCode reset;
}