【问题标题】:Hibernate schema generation consider entities from other maven modulesHibernate 模式生成考虑来自其他 Maven 模块的实体
【发布时间】:2021-01-28 10:14:40
【问题描述】:

我正在使用 javax 中的 Persitence 类从我们的实体生成 SQL 脚本。对于我目前所在的项目,它工作得很好。这是代码:

final Map<Object, Object> properties = new HashMap<>(dialect.getDefaultProperties());
properties.put(AvailableSettings.DIALECT, dialect.getClass().getName());
properties.put(AvailableSettings.CONNECTION_PROVIDER, DriverManagerConnectionProviderImpl.class.getName());
properties.put(AvailableSettings.DEFAULT_SCHEMA, schemaName);
properties.put(AvailableSettings.HBM2DDL_SCRIPTS_ACTION, "create");
properties.put(AvailableSettings.HBM2DDL_CREATE_SOURCE, "metadata");
properties.put(AvailableSettings.HBM2DDL_SCRIPTS_CREATE_TARGET, target.toURI().toURL().toString());
properties.put(AvailableSettings.USE_QUERY_CACHE, "false");
properties.put(AvailableSettings.USE_SECOND_LEVEL_CACHE, "false");
properties.put(AvailableSettings.IMPLICIT_NAMING_STRATEGY, "org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl");
properties.put(AvailableSettings.PHYSICAL_NAMING_STRATEGY, SpringPhysicalNamingStrategy.class.getName());

properties.put(AvailableSettings.JPA_VALIDATION_MODE, "ddl, callback");
properties.put(AvailableSettings.HBM2DDL_DATABASE_ACTION, "none");
properties.put(AvailableSettings.DRIVER, "org.h2.Driver");
properties.put(AvailableSettings.URL, "jdbc:h2:mem:export");
properties.put(AvailableSettings.HBM2DDL_DELIMITER, ";");

System.setProperty("line.separator", ";\n");

Persistence.generateSchema(schemaName, properties);

通常它对当前项目中的实体工作正常,但对外部实体不适用。我有一个外部 maven 模块,其中包含一些我还需要为我们的 SQL 脚本考虑的实体。有没有办法在属性中定义外部模块,所以也会考虑?

【问题讨论】:

    标签: java persistence ddl


    【解决方案1】:
    1. 为您的实体创建一个 Maven 模块
    2. 在本模块中执行mvn clean install
    3. 将此模块添加到要使用此模块实体的项目的dependencies 中。

    这就是你所要做的,我也在许多项目中应用了这一点。 由于您没有以这种方式提供您所做的事情,因此无法提供更多帮助。

    所以,请尝试这些步骤,如果有问题,请更新您的问题,说明如何执行这些步骤。

    P.S: 另外如果这是第一次创建多模块项目,请googlemulti-modulemaven项目。那里有很多有用的帖子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多