У меня есть устаревшая база данных, которую я пытаюсь перестроить в 21 век. Одна из существующих структур данных включает в себя определенный класс, который содержит двумерную матрицу значений. Если бы мне пришлось провести обратный инжиниринг этого класса из базы данных, я бы получил ряд атрибутов, таких как:
private BigDecimal NODE_1_MATRIX_POS_1_1;
private BigDecimal NODE_1_MATRIX_POS_1_2;
и так далее. Поскольку это матрица 6х6, таких столбцов много.
Я искал лучший путь, но я не уверен, что я там. Я хотел бы сделать что-то вроде этого:
@Entity
public class TestClass {
@Id
private long id;
@CollectionOfElements
@JoinTable(
name="MATRIX_DATA",
joinColumns=@JoinColumn(name="ENTRY_ID"))
private List<List<BigDecimal>> matrix;
Но это не удалось:
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: MATRIX_DATA, for columns: [org.hibernate.mapping.Column(element)]
Вместо того, чтобы просто пытаться исправить ошибку, я подумал, что я бы поспрашивал и пытался найти правильный подход к решению этой задачи отображения. Кто-нибудь нашел успех и удовлетворение, отображая многомерные массивы через JPA?