当前位置:  开发笔记 > 编程语言 > 正文

Intellij如何使用spring boot正确配置hql.现在我得到持久性QL查询被错误检查

如何解决《Intellij如何使用springboot正确配置hql.现在我得到持久性QL查询被错误检查》经验,为你挑选了1个好方法。

所以我试图使用hibernate和jpa的自定义查询

@Transactional
public interface EstimateOptionsDao extends JpaRepository {

    @Query("from estimateOptions options inner join options.company company inner join company.user user where user.name = :userName\n")
    EstimateOptions EstimateOptions(String userName);

}

但是EstimateOptions给了我以下错误:

Can't resolve symbol 'EstimateOptions' less... (Ctrl+F1) 
This inspection controls whether the Persistence QL Queries are error-checked

所以我发现这篇文章为什么Hibernate查询在IntelliJ中有编译错误?.

所以我添加了一个方面来测试这个:

现在我有这样的hibernate.cfg.xml:




  
    
    
    
    
    
    
  

和弹簧配置如下:

spring.datasource.url=jdbc:mysql://localhost:3306/testdb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy

但是,如果我在intellij中使用Persistence Tool,可以执行如下简单查询:

hql>来自用户

它会产生以下错误:

[2015-12-09 12:59:27] org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class []
[2015-12-09 12:59:27] java.lang.ClassNotFoundException: 
.....

你可以看到我有点迷失......这些设置有什么问题?



1> Tobb..:

    Project structure设置(ctrl + alt + shift + s)中,选择FacetsAdd.

    选择 JPA

    选择包含映射/带注释实体的模块

    Modules视图中,选择有问题的模块和JPA下面的构面

    添加对描述符的引用(persistence.xml/orm.xml)

    从下拉列表中选择您的JPA提供商

然后,您的JPA查询应该针对您的entites进行验证.


我在基于注释的配置中使用spring mvc配置了我的hibernate.但只有.xml格式描述符可以添加到JPA方面.如何使用基于注释的hibernate配置执行上述过程?
同样的问题,似乎如果你没有在你的项目中定义任何描述符或bean(但让spring-boot完成工作),intelliJ不会对你的HQL查询执行验证
推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有