java如何使用javaee、javafx、jpa正确设置应用程序层?
我正在创建javafx桌面应用程序和javaee应用程序。它们在功能上几乎相同。两个应用程序都需要有自己的sql数据库,但数据库将具有相同的结构(相同的表)
我正在使用Eclipse IDE,目前为止我所做的是:
- javafx应用程序的一个项目
- javaee应用程序的一个项目
- 一个数据层项目(jpa)
我也使用模块信息。JAVA对于javafx和javaee项目,我已经将所需的包定义为我的数据层项目
我在这里发现:JPA and EJB - When do I need to use transaction?,我应该在使用JavaSE时使用事务,我的javafx应用程序实际上就是这样,但当我的应用程序是javaee时就不应该使用事务。我不想为每个应用程序编写jpa项目。如何正确创建/设置项目,使我的每个应用程序都有单独但相同的数据库
# 1 楼答案
将公共代码放在单独的代码库中,释放它,并在两个应用程序中向该模块添加依赖项。在公共代码中使用Flyway或Liquibase来管理数据库模式
考虑使用Spring Bug代替java EE。 Spring和JavaEE一样,支持声明性事务(参见Spring数据),但Spring更易于与JavaSE一起使用。好吧,可以将JavaFX应用程序与Spring结合起来。这将允许您在JavaFX应用程序中使用声明性事务。这将使后端和前端之间更容易共享代码