2012-01-04 17 views
1

データ構造のようなツリーを持つエンティティを作成しています。私は、埋め込み可能なオブジェクトをノードとして使用しています。これらの埋め込み可能なノードは、2Dブール配列を保持しなければなりません。JPAの永続2Dブール値配列(openJPA)

が、私はちょうどこのような何か行うことができます:私は、ドキュメントを読んでいると、すべてのプリミティブ型がサポートされていますが、

@Embeddable 
public class AwesomeNode implements Serializable{ 

    private boolean[][] matrix; 

    // getters, setters and other stuff 

} 

を、ブール配列ではないようです。

これが本当に当てはまる場合、私はbyte [width * height](明示的にサポートされている)を使用して、ユーザー側で必要なロジックを実行することを計画していました。これは良いアイデアですか?それをする良い方法は?

誰でも手伝ってください。

答えて

1

JPAは、フィールド値をリレーショナルデータベースに簡単に格納できるように構築されています。どのようにして2D配列をテーブルに保存したいのですか? あなたはこの質問であなた自身に答えてください、そして、あなたはそれがどのようにマッピングされるべきかすぐに分かります。

例:あなたはBLOBマッピング

のために行くべきか、あなたの行列になりますどのように多くの列を知っていれば、あなたはおそらくそれ行ごとにテーブルを捧げることができるよりも、それはバイナリ表現になりますと言っている場合テーブルの中に2次元配列の行が表示されます。選択肢はあなたのものですが、2D配列を取得して格納するだけでは、リレーショナルDBに格納するためのパッケージをそのまま使用することはできません。

希望これは

+0

を助けhttp://www.objectdb.com/java/jpa/entity/types#Multi_Value_Types_よろしいですか?これは実際には2D配列が永続化できると考えるようになります – b3bop

+0

もちろん、Mark BramnikがBLOB(@Blobを使用)として述べたように、永続化することができます。 – DataNucleus

+0

だから@Lobで注釈を付けるだけでいいですか?あるいは、私は実際にそれを自分自身で直列化する必要があります。シリアル化可能なクラスで2次元配列をラップするとどうなりますか? – b3bop

関連する問題