猿问

Jpa 项目在哪里注解@NamedQueries

我有一个 Maven 项目,我想使用 JPA。


我的 pom.xml 是


<dependencies>


        <dependency>

            <groupId>org.eclipse.persistence</groupId>

            <artifactId>javax.persistence</artifactId>

            <version>2.1.0</version>

        </dependency>

        <dependency>

            <groupId>javax.transaction</groupId>

            <artifactId>jta</artifactId>

            <version>1.1</version>

        </dependency>

        <dependency>

            <groupId>com.h2database</groupId>

            <artifactId>h2</artifactId>

            <version>1.4.197</version>

        </dependency>

    </dependencies>

我有以下课程


package edu.javacd.reviewservice;


import javax.persistence.Entity;

import javax.persistence.NamedQuery;

import javax.persistence.Table;


    @Entity

    @Table(name = "REVIEW")

    @NamedQueries({ @NamedQuery(name = "Review.findAll", query = "SELECT r FROM Review r"),

    @NamedQuery(name = "Review.findById", query = "SELECT r FROM Review r WHERE r.id = :id"),

    @NamedQuery(name = "Review.findByMovieId", query = "SELECT r FROM Review r WHERE r.movieId = :id") })

    public class Review implements Serializable {

    }

我如何配置 pom.xml 以使用注释 @NamedQueries


LEATH
浏览 204回答 2
2回答

倚天杖

编辑:注释在这个包中:javax.persistence.NamedQueries&nbsp;通常你的 pom.xml 已经配置为你使用@NamesQueries注释。编辑:并且您缺少 EclipseLink 实现依赖项:查看这篇旧帖子:How to setup Eclipselink with JPA?您的 3 个依赖项(它们是外部库)分别代表:编辑:JPA 注释JPA 事务管理H2 数据库的 JDBC 驱动程序此注释允许您列出将在程序中使用的所有查询及其 sql 语句。不是在你的代码中直接输入 sql 语句,你将有这样的东西:Query&nbsp;query&nbsp;=&nbsp;em.createNamedQuery("Review.findAll"); List&nbsp;results&nbsp;=&nbsp;query.getResultList();

holdtom

您将在 java持久性 api 中找到@NamedQueries注释和您提到的其他注释(@Entity, @Table, @NamedQuery)。在 pom.xml 中添加它的坐标(或使用它的不同库的坐标,例如 Hibernate、WildFly 等)作为依赖项以使用它们:<dependency>&nbsp; &nbsp; <groupId>javax.persistence</groupId>&nbsp; &nbsp; <artifactId>javax.persistence-api</artifactId>&nbsp; &nbsp; <version>2.2</version></dependency>
随时随地看视频慕课网APP

相关分类

Java
我要回答