小编kna*_*lli的帖子

如何将Hibernate NamingStrategy迁移到(隐式|物理)NamingStrategy?文件在哪里?

所述NamingStrategy已经被标记为在休眠4.2/4.3(弃用HHH-7079).从Hibernate 5开始,现在它将附带两个替换(?)接口ImplictNamingStrategyPhysicalNamingStrategy(HHH-7078),并最终放弃了对旧版本的支持NamingStrategy.这就是为什么Spring即将推出的Hibernate5支持甚至删除了配置器namingStrategy()和支持implicitNamingStrategy()physicalNamingStrategy().到现在为止还挺好.

虽然在一些文件(即不完整的工作-5.0-migration-guide.md)和即将发布的Hibernate 5(截至今天)的(生成)发行说明中提到过,但我没有找到具体的例子如何使用这些实际上.

也许我错过了一些东西,但是JavaDoc和问题都没有显示出这两种策略类型的任何证据.此外,我已经有一个策略基于NamingStrategy:一个OracleNamingStrategy基于众所周知的习惯.

虽然我对代码中的正确解决方案感兴趣(显然),但实际问题是获得有效的迁移文档和/或重构命名策略的概念.


还有关系:

java hibernate hibernate-5.x

20
推荐指数
1
解决办法
5374
查看次数

如何构建基于数据库的 Spring Boot 环境/属性源?

目标是使用包含由数据库连接 (DataSource) 加载和生成的键和值的环境运行 Spring Boot 应用程序。

或者,更抽象的定义:虽然只应首选文件配置(更快、更容易、更宽容,...),但有时您会发现需要基于非静态文件的配置的用例。


Spring 3.1 引入了Environment它实际上是一个属性解析器(扩展PropertyResolver)并且基于对象列表PropertySource。这样的源是属性(文件或对象)、地图或其他东西的包装器/适配器。看起来真的是这样的获取方式。

Properties properties = new Properties();
properties.put("mykey", "in-config");
PropertiesPropertySource propertySource = new PropertiesPropertySource("myProperties", properties);
Run Code Online (Sandbox Code Playgroud)

但是,这不能在@Configuration类完成,因为它必须是可用配置阶段。想想类似的事情

@Bean public MyService myService() {
  if ("one".equals(env.getProperty("key")) {
    return new OneService();
  } else {
    return new AnotherService();
  }
}

// alternatively via
@Value("${key}")
private String serviceKey;
Run Code Online (Sandbox Code Playgroud)

此外,最近的 Spring 版本也支持Condition

有一个OneCondition喜欢

public class OneCondition implements Condition {
  @Override
  public boolean matches(final ConditionContext context, final AnnotatedTypeMetadata …
Run Code Online (Sandbox Code Playgroud)

spring spring-boot

5
推荐指数
1
解决办法
4933
查看次数

标签 统计

hibernate ×1

hibernate-5.x ×1

java ×1

spring ×1

spring-boot ×1