gpt4 book ai didi

java - 如何使用 JPA 使库对象数据库持久化?

转载 作者:行者123 更新时间:2023-12-04 06:59:07 26 4
gpt4 key购买 nike

我一直在我一直在研究的一个小型应用程序上使用 JPA。我现在需要创建一个基本上扩展或封装图形数据结构对象的数据结构。该图将需要持久化到数据库中。

对于我自己编写的可持久对象,扩展它们非常容易,并且扩展类也很容易持久。但是,我现在发现自己想在 JGrahpT 库中使用与图相关的对象库(节点、边、简单图、有向图等)。但是,基类未定义为可持久化的 JPA 对象,因此我不确定如何将这些类保存到数据库中。

我有几个想法,我想要一些反馈。

选项1)

使用装饰器设计模式为基类的扩展版本添加持久性。

挑战:

-- 我如何保持一个类的私有(private)字段需要它处于正确的状态?我是否只是扩展类添加一个 ID 字段,并将其标记为可持久化? JPA 将如何从父类中获取必要的字段? (像 ruby​​ 的运行时类修改在这里会很棒)

-- 有一个类层次结构(抽象图、有向图、有向加权图等)。如果我扩展以获得持久性,扩展类仍然不会有共同的父类。我该如何解决这个问题? (再一次,像 ruby​​ 的运行时类修改在这里会很棒)

选项 2) 复制粘贴整个代码库。修改每个文件的源代码,使其与 JPA 兼容。

-- 显然这是很多工作

我敢肯定还有其他选择..你有什么给我的吗???

最佳答案

基类是否遵循 JavaBeans 命名约定?如果是这样,您应该能够使用 JPA 的 XML 语法来映射它们。

这记录在规范的第 10 章中:

The XML descriptor is intended to serve as both an alternative to and an overriding mechanism for Java language metadata annotations.



此 XML 文件通常称为 orm.xml。 schema is available online

关于java - 如何使用 JPA 使库对象数据库持久化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com