没有企业服务器的 Java 数据持久性?

标签 java swing persistence desktop rdbms

有哪些解决方案可以在不需要成熟的企业服务器的情况下持久保存数据?我是 Java 的新手。在大学,整个类(class)都是基于 Java 的,所以我已经编写了一些代码。但它从未深入了解可用的框架。我们实际接触到持久性的唯一方法是使用“vanilla”JDBC 连接。

我进行了一些深入研究,发现了典型的解决方案。最突出的是“JAXB”、“JPA”、“Hibernate”和“TopLink”。据我所知,最后两个实际上是在实现“JPA”,这只是一个规范。我在这儿吗?

到目前为止我找到的所有教程都很好地解释了这些,我不得不说我非常喜欢 JPA。但是我看到的所有教程都是使用网页进行解释的。不过,我正在寻找基于 swing 的解决方案。没有 webstart 之类的。我想创建一个独立的 Java 桌面应用程序。考虑到目标受众和要求,无论如何我都不需要客户端/服务器架构。

现在,还有Beans Binding这个话题。对我来说,这看起来很有趣。即使考虑到您必须手动触发“PropertyChanged”事件。老实说,我不关心添加的几行。

所以...为了创建一个独立的桌面应用程序,从已经存在的遗留数据库中保存(和读取)数据:

您对框架/库/规范有何建议?

  • JPA?
  • JDBC?
  • Beans 绑定(bind)?

还有一件重要的事情:我编写应用程序所针对的主数据库包含多表继承和缓慢变化的维度。我已经在使用 TopLink 了,结果很好。但是我想去掉应用服务器。

...哦,还有...将 Beans Binding 与 Entities 结合使用是否可行?使属性可读/可写?

最佳答案

我推荐 JPA——虽然它是一个标准,但它完全独立于整个 Java EE 规范。您不需要企业应用程序服务器即可使用它。事实上,Sun 有一个 "Using JPA in Desktop Applications"文章。

关于没有企业服务器的 Java 数据持久性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2207519/

相关文章:

用户注册时 Java UserList 未正确填充

Java - Jframe 不显示按钮标签或文本字段

ios - 通过 Testflight 安装新版本时 NSUserDefaults 是否持续存在?

grails - Grails域对象看起来像是永久保存的,但实际上不是

java - 当前一个语句失败时确保语句执行的干净方法

java - 使用线程实时更新 JTextArea

java - 在 JavaFX 中更新 TableCell 时的奇怪行为

android - 使用 Room 递归调用 getDatabase

java - 未找到 HikariCP LoggerFactory 类定义

java - IntelliJ IDEA找不到Tomcat Lib目录