如何使用 javaee、javafx、jpa 正确设置应用程序层?

How to properly set up layers of application using javaee, javafx, jpa?

我正在创建 javafx 桌面应用程序和 javaee 应用程序。它们的功能几乎相同。两个应用程序都需要有自己的 sql 数据库,但数据库将具有相同的结构(相同的表)。

我正在使用 Eclipse IDE,到目前为止我所做的是:

我也在使用模块-info.java。对于 javafx 和 javaee 项目,我已经定义了所需的包作为我的数据层项目。

我在这里发现:,我应该在使用 Java SE 时使用事务,我的 javafx 应用程序实际上是这样,但当我的应用程序是 javaee 时则不是。我不想为每个应用程序编写 jpa 项目。如何 create/set 正确地建立项目,以便我的每个应用程序都有单独但相同的数据库?

将公共代码放在单独的代码存储库中,发布它并在两个应用程序中添加对这个模块的依赖。在公共代码中使用 Flyway 或 Liquibase 来管理数据库模式。

考虑使用 Spring Boot 而不是 Java EE。 Spring,作为Java EE,支持声明式事务(参见Spring数据),但是Spring与Java SE一起使用更容易。据我所知,可以将 JavaFX 应用程序与 Spring 结合使用。这也将允许您在 JavaFX 应用程序中使用声明式交易。这样可以更轻松地在后端和前端之间共享代码。