1

私は現在、タイルゲームを構築しています。私の元の「ゲーム」では、私のボードには

Tile tiles[][]; 

今、私はこれをJPAで永続化したいと思っています。私が知る限り、多次元配列を永続化することはできません。

なので、変えようと思っていました。取得する場所のポイント クラスを作成できます

map<Point,Tile>

私は次のようなものを得ると信じています:

@Entity
public class Board{
  @Id
  private long id;
  ...
  @OneToMany(mappedBy="board")
  @MapKeyJoinColumn(name="POINT_ID")
  private Map<Point, Tile> tiles;
  ...
}

@Entity
public class Tile{
  @Id
  private long id;
  ...
  @ManyToOne
  private Board board;
  ...
}

@Entity
public class Point{
  @Id
  private long id;
  ...
  @Column(name = "ROW")
  private int row;
  @Column(name = "COL")
  private int col;

  ...
}

または私は使用することができます

map<Integer, Map<Integer, Tile>>

(JPAでこれを行う方法がわかりません)

私は正しい方向に進んでいますか? 最善の方法 (パフォーマンスなど) は何でしょうか? それとも考えすぎですか?

ありがとうございます。

4

1 に答える 1