小编典典

如何在Spring Boot应用程序中使用JPQL配置JPA-“无法解析符号。”。

sql

我有一个依赖 spring-boot-starter-data-jpa

JPA的配置位于 application.properties 内部:

spring.datasource.url=jdbc:mysql://localhost:3306/db?serverTimezone=UTC
spring.datasource.username=name
spring.datasource.password=pass
...

当我创建 @Entity时:

@Entity
@Table(name="cats")
public class Cat {
    @Column(name="age")
    private int age;
    ....
}

它运作良好。当我尝试使用 JPQL时

"select cat from Cat cat"

Intellij想法强调了这一点,并说 “无法解析符号Cat” ,单击 更多 “此检查控制是否对持久性QL查询进行错误检查”

值得一说的是,它 没有错误异常 即可 正常运行。

为了解决这个问题,有人建议在 Intellij中进行

项目结构-方面-添加-JPA
之后,它的IntelliJ 停止 显示附近的这个警告 JPQL 语法,但 开始 以示警告附近
@Column(name =“名称”)@Table(name =“猫”) 在我 Entity.class

如何配置JPA 既不在JPQL中也不在Entity.class中获得此警告


阅读 237

收藏
2021-05-16

共1个答案

小编典典

尝试使用此:

"select cat from " + Cat.class.getName() + " cat"

这个解决方案非常好,因为无论何时重命名class Cat,intellij也会在jpql查询中重命名它。

2021-05-16