java - JPA 中的持久 2D boolean 数组 (openJPA)

标签 java jpa orm persistence openjpa

我正在编写一个具有树状数据结构的实体。我使用可嵌入对象作为节点。这些可嵌入节点必须携带二维 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/

相关文章:

java - JPA 实体 ID 问题

python - 我可以在 SQLAlchemy ORM 中使用动态关系(或 VIEWS)吗?

对基于声明的模型使用多值插入时,不会为每一行单独调用 Python 端默认值

c# - 想学习 C# 中的 ActiveRecord 模式

java ms访问连接

java - 处理器和线程之间的区别

java - 使用 PKCS 11 token 进行 SSL 握手

java - 使用 <?> 参数调用通用 Java 函数

java - transient 域实例jpa&spring

java - 在gradle中定义变量填充persistence.xml中的数据