JPA中的持久性2D布尔数组(openJPA)

时间:2012-01-04 07:15:30

标签: java jpa orm persistence openjpa

我正在编写一个具有树状数据结构的实体。我使用可嵌入对象作为节点。这些可嵌入节点必须带有2D布尔数组。

我可以做这样的事情:

@Embeddable
public class AwesomeNode implements Serializable{

    private boolean[][] matrix;

    // getters, setters and other stuff

}

我一直在阅读文档,虽然支持所有原始类型,但似乎布尔数组不是。

如果确实如此,我打算使用字节[width * height](明确支持),然后在用户端执行必要的逻辑。这是一个好主意吗?这样做的更好方法是什么?

任何人都可以提供一些指导。

1 个答案:

答案 0 :(得分:1)

JPA的构建方式是可以轻松地将字段值存储在关系数据库中。您希望如何在表格中存储2D数组? 你应该回答这个问题,你会立即看到它应该如何映射。

示例:如果您说它将是二进制表示而不是您应该进行BLOB映射

或者,如果您知道矩阵中有多少列,您可以为其专门设置一个表,表中的每一行都是2D数组中的一行。您可以选择,但是,您不能只使用2D数组并存储它,它不是开箱即用的,可以存储在关系数据库中。

希望这有帮助