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

时间:2019-02-24 12:19:42

标签: java sql spring hibernate jpa

我有一个依赖项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 =“ name”) @Table(name =“ cats”)附近显示警告> Entity.class

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

1 个答案:

答案 0 :(得分:2)

尝试使用此:

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

此解决方案非常好,因为每当您重命名类Cat时,intellij也会在jpql查询中重命名它。