当前位置: 首页 > 知识库问答 >
问题:

IntelliJ IDEA无法解析spring data jpa@Query注释中的实体

呼延卓
2023-03-14

下面是我的存储库接口:

public interface ContentRepository extends JpaRepository<Content, Long> {

    @Query(value = "select c from Content c where c.ContentCategory.genre =  :genre and c.ContentType.genre = :contentType")
    Iterable<Content> findByTypeAndCategory(@Param("contentType") String contentType, @Param("genre") String genre);

}

下面是内容POJO:

@Entity
@Table(name = "content")
public class Content implements Serializable {

public Content() {
}

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;

@ManyToOne
private ContentCategory contentCategory;

@ManyToOne
private ContentType contentType;

// other methods }
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:jpa="http://www.springframework.org/schema/data/jpa"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd 
       http://www.springframework.org/schema/data/jpa
       http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd">

<tx:annotation-driven/>
<context:component-scan base-package="com.aa.bb"/>
<jpa:repositories base-package="com.aa.bb.repository"/>


<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/test1"/>
    <property name="username" value="root"/>
    <property name="password" value="2323"/>
</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="packagesToScan" value="com.tarameshgroup.derakht.repository"/>

    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="database" value="MYSQL"/>
            <property name="showSql" value="true"/>
        </bean>
    </property>
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
        </props>
    </property>
</bean>

编译器在@query中找不到内容

共有1个答案

晏弘雅
2023-03-14

三个问题:

  1. 您没有激活JPA方面(这是@Query中内容类型的下划线)
  2. 您的包设置不正确,packageToScan应设置为您的实体包
  3. 您应该在@query中引用属性,而不是类型(我看到奇怪的content.contentcategory.genre大写)

之后,您应该会看到@query中解析的内容类型,并且能够正确地运行您的查询

 类似资料:
  • 问题内容: 我想要一个带pdf并返回文档中注释注释文本列表的python函数。我看过python- poppler(https://code.launchpad.net/~poppler-python/poppler- python/trunk ),但我不知道如何获取它来给我有用的东西。 我找到了该方法,并修改了通过调用它的演示程序,但是我不知道该如何处理AnnotMapping对象。它似乎没有完

  • 本文向大家介绍全面解析Java中的注解与注释,包括了全面解析Java中的注解与注释的使用技巧和注意事项,需要的朋友参考一下 注解 一、什么是 Annotation? (注解 or 注释) Annotation, 准确的翻译应该是 -- 注解。 和注释的作用完全不一样。 Annotation 是JDK5.0及以后版本引入的一个特性。 与类、接口、枚举是在同一个层次,可以成为java 的一个类型。 语

  • 我正在开发一个遗留的Grails 2.3.11应用程序。当我用grails注释命令类时。验证。可验证,似乎无法找到它。然而,Validatable在另一个Grails 2.5.6应用程序上运行良好。注释是在2.3.11之后引入的吗?

  • 问题内容: 我想在处理XML时尽可能忠实地保留注释。 我设法保留了注释,但是内容已被XML转义。 但是,像这样的注释: 最终为: 我也尝试过,但似乎没有任何作用。实际上,我认为问题出在步骤之后的某个地方。 顺便说一句,这个问题与此类似。 问题答案: 经过Python 2.7和3.5的测试,以下代码应该可以正常工作。 然后,在主代码中使用 作为解析器,而不是当前的解析器。 顺便说一下,使用开箱即用的

  • 我一直试图理解HQL和JPQL之间的区别。冬眠留档在这里 建议写入选择是JPQL所必需的,但不是在HQL中。但是当我尝试在Spring数据JPA的查询注释中编写HQL或JPQL时,HQL和JPQL都可以工作。 我的理解是,既然查询注释是针对JPA的,为什么支持HQL? 或者让我换个说法- 我们可以在查询注释中编写HQL吗——Spring数据JPA支持两者吗?

  • 我有这个问题,无论我导入什么依赖。我遵循了https://quarkus.io/guides/reactive-postgres-client中的指南。使用另一个依赖关系--例如不是“由”Quarkus--也不能解决这个问题。它就在这段代码中: