gpt4 book ai didi

java - 模块化数据库初始化

转载 作者:行者123 更新时间:2023-12-01 04:29:24 25 4
gpt4 key购买 nike

在为企业应用程序开发模块化系统架构时,我遇到了一些数据库初始化问题。我们有一个提供基本实体和基本配置的核心库。在此核心之上构建了几个模块。它们是可插入的并且可以有自己的实体和配置。一些特点:

  • 配置(例如系统属性、资源包等)都存储在数据库中。
  • 使用JPA使系统数据库独立。
  • 系统在 Java SE 上运行

每个模块都可以带有自己的表,但它们也可能需要填充核心属性表或核心资源包表。因此,我们需要某种机制来运行数据库的 DDL 和 DML 初始化。一些选项:

  1. 创建简单的 SQL 脚本。缺点是它们必须独立于数据库,也许这不是对开发人员最友好的。除非我们可以使用一些数据库差异工具生成它们?
  2. 使用 Java 类通过 JPQL 进行初始化?
  3. 将配置存储在文件中?这避免了很多(但不是全部)配置 DML。
  4. 使用像 liquibase 这样的工具吗?

解决这个(或类似)问题的最佳实践是什么?

最佳答案

使用数据库来存储所有配置数据是最好的选择。许多产品(例如 WebSphere Portal 或 Liferay)使用数据库来存储每个 portlet 甚至主题的配置数据。不要忘记包含那些用作 SOA 和业务规则一部分的内容。

因此,使用SQL脚本也是最好的选择。但是,如果您需要非常具体的 SQL 功能,则可能需要为每个数据库管理系统创建同一脚本的多个版本。

关于java - 模块化数据库初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18134345/

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