dfc*_*che 8 hibernate jpa intellij-idea spring-boot
我有一个全默认(Lombok 除外)Spring Boot 2.5.6 + PostgreSQL 项目,在 Intellij IDEA 2021.2.3 中打开了一个非常基本的 JPA 映射。JPA 配置是通过注释实现的(无 XML)。该应用程序本身工作正常,记录可以从数据库中保存和检索。在“持久性”窗口中,我可以正确地看到我的 JPA 结构,数据源已分配。这是实体代码:
@Entity
@Data
...
public class Cover {
...
private String ageRestriction;
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用例如执行查询时,select c from Cover c我收到错误:
jpa-ql> select c from Cover c
[2021-11-01 16:14:03] [42703] ERROR: column cover0_.agerestriction does not exist
[2021-11-01 16:14:03] Hint: Perhaps you meant to reference the column "cover0_.age_restriction".
Run Code Online (Sandbox Code Playgroud)
我尝试将命名策略配置添加到我的设置中,但这没有效果:
spring:
jpa:
hibernate:
naming:
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
Run Code Online (Sandbox Code Playgroud)
我在持久性单元上下文菜单中也没有看到“分配命名策略”(参见屏幕截图)。有没有办法强制 JPA 控制台使用与我的应用程序相同的命名策略?

PS:@Column在指定所有多字字段名称并添加 @Table 注释schema和属性后,我成功地使控制台正常工作name。但我希望能够以某种方式同步控制台和应用程序 JPA/Hibernate 配置。
| 归档时间: |
|
| 查看次数: |
425 次 |
| 最近记录: |