我有一个 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
2 回答
倚天杖
TA贡献1828条经验 获得超3个赞
编辑:注释在这个包中:javax.persistence.NamedQueries
通常你的 pom.xml 已经配置为你使用@NamesQueries
注释。
编辑:并且您缺少 EclipseLink 实现依赖项:
查看这篇旧帖子:How to setup Eclipselink with JPA?
您的 3 个依赖项(它们是外部库)分别代表:
编辑:JPA 注释
JPA 事务管理
H2 数据库的 JDBC 驱动程序
此注释允许您列出将在程序中使用的所有查询及其 sql 语句。不是在你的代码中直接输入 sql 语句,你将有这样的东西:
Query query = em.createNamedQuery("Review.findAll"); List results = query.getResultList();
holdtom
TA贡献1805条经验 获得超10个赞
您将在 java持久性 api 中找到@NamedQueries注释和您提到的其他注释(@Entity, @Table, @NamedQuery)。在 pom.xml 中添加它的坐标(或使用它的不同库的坐标,例如 Hibernate、WildFly 等)作为依赖项以使用它们:
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
添加回答
举报
0/150
提交
取消