2012-09-14 14 views
24

IntelliJ IDEA evidenzia persistenti nomi di classi @Entity con "Impossibile risolvere il simbolo" in rosso in JPQL che distrae e nasconde i problemi reali.IntelliJ IDEA evidenzia i nomi delle classi @Entity con "Impossibile risolvere il simbolo" in JPQL

Così, per esempio, dichiaro una query nel mio repository:

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"; 

.. e "entità" è sottolineata, anche se "Entity" è un nome di classe valido, e ha l'annotazione @Entity . Quando il codice viene effettivamente eseguito, non ci sono problemi.

Immagino che sia necessaria una sorta di configurazione per consentire all'IDE di sapere quali classi sono valide? Come viene eseguita questa configurazione?

Aggiornamento: Ho un facet JPA, ma non vede le classi annotate. Sembra richiedere un persistence.xml o orm.xml (che il mio progetto non utilizza)

risposta

17

Assicurati di avere o Hibernate facet configured in IntelliJ IDEA per il modulo.

+0

vedere aggiornamento ri APP e persistenza XML –

+1

Si sta utilizzando Primavera? Se è così, è richiesta la sfaccettatura di Primavera. – CrazyCoder

+0

potresti fornire istruzioni su come fare quanto sopra, per favore? –

26

Sembra che tu non abbia selezionato il provider JPA predefinito in configurazione facet. A seconda del provider che stai utilizzando, sceglierne uno dall'elenco. Le opzioni disponibili sono EclipseLink, Hibernate, OpenJPA, TopLink

+0

Dove posso impostare esattamente? – powder366

+7

Passare a File> Struttura del progetto> Facet. Quindi fare clic sull'icona + e aggiungere APP a progetto/modulo. Dopo averlo fatto, puoi selezionare un provider JPA predefinito. – Jelle

Problemi correlati