我有一個 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
提交
取消