постоянный двумерный логический массив в JPA (openJPA) - PullRequest
1 голос
/ 04 января 2012

Я пишу сущность, которая имеет древовидную структуру данных.Я использую встраиваемые объекты в качестве узлов.Эти встраиваемые узлы должны содержать двумерный логический массив.

Могу ли я просто сделать что-то вроде этого:

@Embeddable
public class AwesomeNode implements Serializable{

    private boolean[][] matrix;

    // getters, setters and other stuff

}

Я читал документацию, и хотя все примитивные типы поддерживаются, кажетсяэти логические массивы не являются.

Если это действительно так, я планировал использовать байт [ширина * высота] (явно поддерживается), а затем просто выполнить необходимую логику на стороне пользователя.Это хорошая идея?Лучший способ сделать это?

Может кто-нибудь предложить какое-нибудь руководство.

1 Ответ

1 голос
/ 04 января 2012

JPA построен таким образом, что значение поля может быть легко сохранено в реляционной базе данных.Как бы вы хотели сохранить 2D-массив в таблице?Вы должны ответить себе на этот вопрос, и вы сразу увидите, как он должен отображаться.

Пример: если вы скажете, что это будет двоичное представление, вам следует перейти к отображению BLOB

Или, если вы знаете, сколько столбцов будет в вашей матрице, вы, вероятно, можете выделить для нее таблицу, каждая строка в таблице будет строкой в ​​вашем двумерном массиве.Выбор за вами, но да, вы не можете просто взять 2D-массив и сохранить его, он просто не подходит для хранения в реляционной БД.

Надеюсь, это поможет

...