gpt4 book ai didi

orm - J2SE 桌面应用程序 - JPA 数据库与集合?

转载 作者:行者123 更新时间:2023-11-30 05:01:54 28 4
gpt4 key购买 nike

我有 Web 开发背景,并且已经有一段时间没有在 Java 中做过任何重要的事情了。

我正在做一个小项目,其中大部分涉及一些具有关系的模型以及对这些对象的简单 CRUD 操作。

JPA/EclipseLink 似乎适合这个问题,但这是一种具有"file"->“打开”和"file"->“保存”功能的应用程序,即数据将由用户存储在文件中,而不是保留在数据库中 session 之间。

上次我处理这样的项目时,我将对象存储在 ArrayList 对象中,但自从使用 MVC 框架以来,这似乎有点原始。另一方面,使用 JPA,打开一个文件需要在数据库中加载一大堆对象,只是为了方便而不必编写代码来管理对象。

使用 Java SE 桌面应用程序管理模型数据的典型方法是什么?

最佳答案

JPA 是专门根据数据库构建的。这意味着它通常在一个大数据存储上运行,其中的对象属于许多不同的用户。

在基于文件的场景中,文件通常不会那么大,并且文件中的所有对象都属于同一用户和同一文档。在这种情况下,我想说对于二进制格式,旧的 Java 序列化仍然适用于临时文件。

对于长期或可互换的格式,XML 更适合。使用 JAXB(包含在标准 Java 库中),您可以使用表面上类似于 JPA 的基于注释的方法将 Java 对象编码和解码为 XML。事实上,我使用过同时具有 JPA 和 JAXB 注释的模型对象,因此它们可以存储在数据库以及 XML 文件中。

如果您的桌面应用程序使用的文件代表您需要分页和查询的潜在庞大数据集,那么使用 JPA 可能仍然是更好的选择。有各种小型嵌入式数据库可用于 Java,尽管我不知道让数据源指向用户选择的文件有多简单。通常,Java 中的持久性单元会映射到固定数据源,并且您还无法即时创建持久性单元。

另一种选择是使用 JDO,这是一种类似于 JPA 的映射技术,但不是 ORM。它更加独立于正在使用的后端持久性技术,并且确实也映射到文件。

抱歉,这不是一个真正的答案,而更像是一些需要考虑的事情,但希望它在某种程度上有所帮助。

关于orm - J2SE 桌面应用程序 - JPA 数据库与集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6392307/

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