我正在编写一个具有树状数据结构的实体。我使用可嵌入对象作为节点。这些可嵌入节点必须携带二维 boolean 数组。
我可以做这样的事情吗:
@Embeddable
public class AwesomeNode implements Serializable{
private boolean[][] matrix;
// getters, setters and other stuff
}
我一直在阅读文档,虽然所有原始类型都受支持,但 boolean 数组似乎不支持。
如果确实如此,我计划使用字节[宽度*高度](明确支持),然后在用户端执行必要的逻辑。这是一个好主意吗?有更好的方法吗?
任何人都可以提供一些指导吗?
最佳答案
JPA 的构建方式使得字段值可以轻松存储在关系数据库中。您希望如何将二维数组存储在表中? 您应该回答自己这个问题,然后您将立即看到它应该如何映射。
示例:如果您说它将是二进制表示形式,那么您应该选择 BLOB 映射
或者,如果您知道矩阵中有多少列,您可能可以为其指定一个表格,表格中的每一行都将是二维数组中的一行。选择是你的,但是,是的,你不能只获取二维数组并存储它,它只是不适合开箱即用地存储在关系数据库中。
希望这有帮助
关于java - JPA 中的持久 2D boolean 数组 (openJPA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8723308/