JPA Console [42601] error

Answered

Hi

I have a project using hibernate which works well. I would like to test some HQL query so I configure Database datasource to mi DB,  open persistence.xml and open a JPA Console.
I tried to run a simple query to test my configuration :

“select pi FROM PeptideInstance pi WHERE pi.resultSummary.id  = 22 and pi.peptide.id = 41609” ;

As you can imagine, PeptideInstance contains FK to peptide and resultSmmary

"@Table(name = "peptide_instance")
public class PeptideInstance implements Serializable {

@ManyToOne
@JoinColumn(name = "result_summary_id")
private ResultSummary resultSummary;

@ManyToOne
@JoinColumn(name = "peptide_id")
private Peptide peptide;

"

 

But I have an error

2024-02-12 10:53:44] [42601] ERREUR: mauvaise qualification du nom (trop de points entre les noms) : fr.proline.core.orm.msi.peptide
[2024-02-12 10:53:44] Position : 255

 

If I replace the query by “select pi.id FROM PeptideInstance pi WHERE pi.resultSummary.id  = 22 and pi.peptide.id = 41609” ;

I got a result !

Any one have a clue ? I tried to look on internet in vain .

 

Thanks for your help

Veronique

0
14 comments

Hello,

I couldn't reproduce the issue on my side. Is it possible to provide any sample project demonstrating the issue for investigation? Also please provide idea.log ("Help | Show Log in…") after restarting IDE and reproducing the issue to check IDE configuration and recorded events. You may share files via https://uploads.jetbrains.com/ form.

0

Thank you for your answer. 

I will try to create a small sample dataset to share with you and I'll let you know as soon as I will upload it.

0

I've uploaded the log and a dump of a small DB here 

Upload id: 2024_02_12_228MEtEQnN5avU4vNTtx2R (files: dump-msi_db_project_3-202402121339.zip, idea - Copie.log)

For this db, I've run

" jpa-ql> select pi from fr.proline.core.orm.msi.PeptideInstance pi where pi.resultSummary.id = 2
[2024-02-12 13:36:25] [42601] ERREUR: mauvaise qualification du nom (trop de points entre les noms) : fr.proline.core.orm.msi.peptide
[2024-02-12 13:36:25] Position : 255"

Just to confirm my DB was OK, in SQL console following query give me 165 rows

select * from peptide_instance pi where pi.result_summary_id=2 
 

Thanks for your help, I'd really like to use IntelliJ for tests in order to improve  query performance… ;)

0

I realize i didn't give you the intelliJ project. I'll try to simplify it and will upload it on your site.

 

0

Thanks! I'll be waiting.

0

Hi

Here it is ; Upload id: 2024_02_14_xaBSWGAzGbANVNsYoSFLu6 (file: simple-proline-orm.zip)

I hope it will be OK, I tried to remove all internal reference .  Let me know if something is missing

0

Thanks for the example, but seems some tables are missing. Here is what I got for requests in JPA console:

org.hibernate.AnnotationException: @OneToOne or @ManyToOne on fr.proline.core.orm.uds.Dataset.aggregation references an unknown entity: fr.proline.core.orm.uds.Aggregation

0

Indeed this class wasn't define in persistance.xml (I've corrected it and uploaded it Upload id: 2024_02_16_gegohEsGRtrK5jMb7XqaFY (file: persistence.xml)) 

But I didn't have this error while executing the JQL. I open the console, from “Persistence” view > msidb_production context menu 

0

As a quick fix you may  change @Entity(name = "fr.proline.core.orm.msi.Peptide") to @Entity(name = "Peptide") in fr.proline.core.orm.msi.Peptide  .

Does this request work fine during runtime?

 

0

Hi

Indeed this fixe the problem ! I will know check and use more complexe query needed to improve performance !

Thanks for your help.

0

You are welcome! Just one question - does initial request work fine when your application is executed or it results with the same error? We need to check if it's a general JPA issue or console one.

0

Yes it works fine in my application, it's only in the console that the error occurs

0

Please sign in to leave a comment.