java - Hibernate 生成的查询

标签 java mysql spring hibernate jpa

我的服务已启动并运行,但仍有一些问题我无法弄清楚。

我有一个类似于以下内容的查询

@Query("从表名 t 中选择 t")

然后hibernate将生成以下查询

Hibernate:从表名tname中选择tname.column1作为a,tname.column2作为b,tname.column3作为c,tname.column4作为d

问题是当我查询 mysql 数据库时,表名区分大小写。 hibernate中有没有一种方法可以完全按照注释中拼写的方式执行查询?另外,是否有可能阻止 hibernate 将驼峰列分成两个作品。例如,如果我有一个名为columnOne的列,hibernate将想要生成一个名为column_one的列。

我知道这很可能与 hibernate 的命名策略有关,但我一直无法找到解决方案。

最佳答案

尝试在 application.properties 文件中添加以下内容。

 spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

有关命名策略的文档是 here

关于java - Hibernate 生成的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44360170/

相关文章:

jquery - Masonry 无法处理从 mysql 获取的图像

mysql - 创建一个表,其名称必须是另一个表中的主键

spring - 如何正确使用 Spring Data 中的 PagedResourcesAssembler?

java - 从 Lucene 3.0 迁移到 4.9.0

java - 通过类实现接口(interface)创建基于 CGLib 的代理

java - 双击 map fragment 的缩放功能

java - RedisTemplate execute() 和 opsFpr*() 的不同使用

java - 项目选定监听器上的 Android 导航菜单未触发

mysql - CakePHP 1.3 - 在模型查询中使用 RLIKE

java - Log4j2 LogManager.getLogger() 与 Spring