Я получаю JSON из службы REST (170 ~ курсов)
{
"success":true,
"timestamp":1527944949,
"base":"EUR",
"date":"2018-06-02",
"rates":{
"AED":4.284515,
"AFN":83.084064,
"ALL":124.882747,
....
}
}
И я хочу сохранить его в моей БД со следующим классом
@Entity
@Table(name = "exchange_rate")
public class ExchangeRateEntity {
@Id
@Column(unique = true)
private Date date;
@ElementCollection
@MapKeyColumn(name="name")
@Column(name="value")
@CollectionTable(name="rates", joinColumns=@JoinColumn(name="date"))
private Map<String, Double> rates;
//getters and setters
}
ЕслиЯ правильно понимаю, он должен сделать новую таблицу "ставки" с данными, которые я хочу?Но это заканчивается
MySQLSyntaxErrorException: таблица «currency_rate.rates» не существует
где currency_rate - это мое имя базы данных
I'vпопытался изменить на
@CollectionTable(name="exchange_rate", joinColumns=@JoinColumn(name="date"))
, но это дает мне
MappingException: Внешний ключ (FK9s46rfp5jp46vm7ep4cbc020x: exchange_rate [date])) должен иметь то же количество столбцов, что и первичный ключ, на который есть ссылка(exchange_rate [дата, имя])
И я совершенно запутался, как хранить карту в БД?