45

IntelliJ IDEA は、JPQL で「シンボルを解決できません」という永続的な @Entity クラス名を赤で強調表示します。これは気が散り、実際の問題を埋めてしまいます。

たとえば、リポジトリでクエリを宣言します。

private static final String READ_BY_CANDIDATE_KEY = "SELECT cr FROM Entity AS cr left join cr.relationship AS re left join fetch cr.relationship2 WHERE re.candidateKey=:ID";

.. "Entity" は有効なクラス名であり、@Entity アノテーションを持っていますが、"Entity" には下線が引かれています。コードが実際に実行されると、問題はありません。

どのクラスが有効かをIDEに知らせるには、何らかの構成が必要だと思いますか? その構成はどのように行われますか?

更新: JPA ファセットはありますが、注釈付きのクラスが表示されません。persistence.xml または orm.xml が必要なようです (私のプロジェクトでは使用していません)。

4

6 に答える 6

56

ファセット構成でデフォルトの JPA プロバイダーを選択していないようです。使用しているプロバイダーに応じて、リストから 1 つ選択します。利用可能なオプションは、EclipseLink、Hibernate、OpenJPA、TopLink です。

于 2012-12-11T16:43:22.853 に答える
24

モジュールの IntelliJ IDEA でJPAまたはHibernateファセットが構成されていることを確認してください。

于 2012-09-14T15:11:01.010 に答える
0

Try adding this dependency if you are using Spring-boot.
spring-boot-starter-data-jpa

于 2020-03-29T18:22:50.097 に答える