java - HSQLDB:区分大小写的表名
问题描述
我有以下 jpa/hibernate/hsqldb 配置:
- JPA
ddl-auto: create-drop
- Hibernate 实体没有
@Table
注释并使用SpringPhysicalNamingStrategy
. 所以,PersonalData
实体表名是personal_data
. Hibernate 由于运行应用程序而创建它们 hsql
数据库网址是jdbc:hsqldb:mem:testdb;sql.syntax_pgs=true
我的问题是当我尝试使用 hsql 选择到期的 spring 存储库时,出现关于不存在PERSONAL_DATA
表的错误。
我发现这是使用 CASE_SENSETIVE 表的 SQL 表示法,hqsl 遵循它。解决开发人员在 sql 中提供引用表名的问题。
所以,我有两个不太可能的想法
- 为实体添加
@Table
注释。 - 覆盖
SpringPhysicalNamingStrategy
有没有办法使用简单的属性?
解决方案
推荐阅读
- html - Boostrap 4:如何内联应该隐藏在小屏幕上的文本?
- google-analytics - 获取一系列非连续日期的 Google Analytics(分析)报告?
- oracle - 将pdf文件批量导入oracle表
- python - Python3 Scapy - 嗅探分段的 IP 数据包
- c# - InvalidRequest 在驱动器之间移动 DriveItem
- javascript - 编写异步测试时未触发使用材料 ui 自动完成
- asp.net - 无法删除 dotNET Runtime 2.1.17
- macos - 最近升级后,MacOS 上的 Gatsby 3.0 崩溃了
- visual-studio - 根据 buildConfiguration 选择不同的 nuget 包
- docker-swarm - 有没有办法在 docker swarm 中获得可选的绑定挂载