Я хочу создать новую таблицу в своей базе данных, используя этот класс
@Entity
@Table(name = "currency_rate")
public class CurrencyRate {
@Id
private String id;
@Column(name = "source_currency")
private String sourceCurrency;
@Column(name = "target_currency")
private String targetCurrency;
@Column(name = "exchange_rate")
private double exchangeRate;
@Column
private Date date;
@PrePersist
public void generateID() {
this.id = this.date.toString().replace("-", "") + sourceCurrency + targetCurrency;
}
//getters, setters
}
Когда я пытаюсь запустить свое приложение со свойством
spring.jpa.hibernate.ddl-auto=create
Я получил это исключение
Причина: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: указанный ключ был слишком длинным;максимальная длина ключа составляет 1000 байт
Похоже, я не могу использовать Spring в качестве своего идентификатора?Изменение типа на Long решает проблему, но я действительно хотел пойти с String с этим.Из того, что я искал, это должно быть полностью выполнимо.