私は現在、タイルゲームを構築しています。私の元の「ゲーム」では、私のボードには
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でこれを行う方法がわかりません)
私は正しい方向に進んでいますか? 最善の方法 (パフォーマンスなど) は何でしょうか? それとも考えすぎですか?
ありがとうございます。