当前位置: 首页 > 知识库问答 >
问题:

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

沈琨
2023-03-14

Hibernate 4.2/4.3(HHH-7079)中已经将NamingStrategy标记为已弃用。从Hibernate 5开始,现在它将附带两个替换(?)接口implictNamingStrategy物理命名策略(HHH-7078),并最终放弃了对旧NamingStrategy的支持。这就是为什么Spring即将推出的Hibernate5支持甚至删除了配置器namingStrategy()并支持implitNamingStrategy()物理命名策略()。到目前为止,一切顺利。

尽管在一些文档(即不完整的working-5.0-migration-guide.md)和即将发布的Hibernate 5(截至今天)的(生成的)发行说明中提到了它,但我还没有找到具体的示例来实际使用它们。

也许我漏掉了什么,但无论是JavaDoc还是问题都没有任何证据表明这两种策略类型都是这样。此外,我已经有了一个基于NamingStrategy的策略:一个基于著名策略的定制oraclenaminingstrategy

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

还相关:

  • 改进命名策略不再在Hibernate 5中工作

共有2个答案

古扬
2023-03-14

>

如果不希望命名策略在列名或类名中添加下划线,则需要使用的策略如下:spring。jpa。冬眠命名。物理策略=组织。冬眠靴子模型命名。物理模拟战略标准。注释@表@列的名称属性中提供的内容将保持原样。

如果您不想提供注释并且想要手动处理表名和列名,您应该扩展类org.hibernate.boot.model.naming.物理命名策略标准Impl并覆盖所需的方法。如果您仍然在这里的某些情况下使用注释,请记住覆盖的方法将应用于在这些注释中编写的名称。

spring.jpa.hibernate.naming.physical策略

鲍钊
2023-03-14

键值对Hibernate配置文件

冬眠隐式命名策略=组织。冬眠靴子模型命名。隐式策略

冬眠物理命名策略=组织。冬眠靴子模型命名。物理模拟策略标准

 类似资料:
  • 我正在尝试从WildFly 8.2.0迁移到WildFly 10.0.0,这意味着我已经(并且想要)从Hibernate 4.3迁移到Hibernate 5.0。 我已经阅读了迁移指南,我被命名策略的变化所打击。我在SO上阅读了许多关于此的问题,但我的问题似乎有点不同。Hibernate抱怨找不到表: 例如,当我切换到调试日志记录时,我看到他正在将实体绑定到正确的DB表: 对我来说奇怪的是应用程序

  • 我正在开发用于搜索的spring应用程序。我使用elasticsearch spring数据库创建索引和管理文档。为了查询(搜索),我使用了elasticsearch中的常规客户端,而不是spring数据。 我注意到,spring数据只有在elasticsearch中缺少索引时才会创建索引。每当将新字段添加到用@Document注释的类时,映射将不会更新。因此,在刚刚添加的字段中搜索会导致错误的请

  • 添加了一些与CLANG相关的新属性: 如何配置项目以使用Xcode12.5部署此应用程序? $React-本机信息获取系统和库信息...System:OS:macOS 11.3 CPU:(4)x64 Intel(R)Core(TM)i3-8100B CPU@3.60 GHz内存:256.45MB/8.00 GB shell:3.2.57-/bin/bash二进制文件:node:10.16.0-/u

  • 我升级为不和谐。JSV12,但它破坏了我现有的v11代码。下面是一些导致错误的示例: 如何将代码迁移到Discord。JSV12并修复这些错误?在哪里可以看到v12引入的突破性更改?

  • 我正在使用OpenJDK 12中的Nashorn JS引擎。纳肖恩似乎遭到了反对。我正在寻找可用的替代方案。我找到了GraalVM,但我不确定这是不是最好的。如何从Java执行GraalVM JavaScript?你有什么例子吗? Nashorn用的是Java: 在Nashorn中,我创建了一个WrappedMongoDatabase,它扩展了AbstractJSObject。在那里,我添加了一些

  • 在构建Room数据库之前,我尝试保留旧的SqliteOpenHelper并使用它从1升级到3。这在第一次运行时有效,但随后的运行会使SqliteOpenHelper崩溃,因为它不能降级数据库(Room成功升级到v4,但open helper只知道v3。使用它来确保升级到v3的数据库会导致它尝试降级)