2010-02-02 10 views

risposta

15

IntelliJ sta tentando di convalidare la query HQL all'interno della stringa stessa. Per fare ciò, è necessario configurarlo per conoscere la configurazione di ibernazione per garantire che esista una mappatura per MyTable (lo fa in fase di runtime, come sai - mentre esegue!).

Controlla la sezione di configurazione di ibernazione in intelliJ per il tuo progetto.

Probabilmente c'è un modo per spegnerlo se è più un ostacolo che un aiuto.

+3

Grazie. In realtà era un'impostazione sotto problemi Java EE \ Persistenza problemi QL. Spegnendolo e stavo bene. –

+3

@Marcus thx 4 questo indizio! In IDEA13 questa impostazione è stata spostata/rinominata, penso, ma digitando 'query' nella casella di ricerca nella finestra di dialogo Impostazioni -> Ispezioni la si rivela sotto problemi JPA ... – Superole

+0

Funziona ma ho corretto in base a @tumanov – powder366

3

In IntelliJ IDEA 13 per Mac OS X sono riuscito a trovare questa opzione come "Controlli Query Language" sotto "Problemi JPA"

12

Assicurarsi di avere le sfaccettature configurati correttamente. Stavo ricevendo errori nelle mie annotazioni Spring Data JPA @Query di "Can not resolve symbol" (solo all'interno di IntelliJ IDEA, il codice stesso funzionava bene quando l'ho eseguito) e avevo bisogno di entrare in Project Structure, Facets e aggiungere l'JPA sfaccettatura. (Suppongo che se si utilizzi Hibernate senza JPA, si aggiunga semplicemente la sfaccettatura di Hibernate anziché la faccetta JPA.)

17

Aggiungere una sfaccettatura "Hibernate" in "Struttura del progetto", quindi selezionare "Hibernate" per tale sfaccettatura. .cfg.xml "per" Configurazione ibernazione ". Ciò consentirà a IDEA di conoscere la mappatura della classe in tabella e aiuterà a riconoscere tali classi nelle query HQL.

Se non si utilizza "hibernate.cfg.xml", ad esempio per Spring, si può semplicemente usare "applicationContext.xml" per inizializzare l'origine dati, avendo Hibernate Facet dichiarato sufficiente.

+3

Nota che questo la risposta è preferibile rispetto alla disattivazione dell'ispezione se si utilizza la mappatura xml. È un ambiente semplice da fare e aiuta molto. –

+0

Grazie, tumanov. C'era un altro prerequisito per il funzionamento della tua risposta: il plugin "Hibernate" deve essere attivato per il tuo progetto. –

Problemi correlati