JPA Console [42601] error
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
Please sign in to leave a comment.
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.
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.
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… ;)
I realize i didn't give you the intelliJ project. I'll try to simplify it and will upload it on your site.
Thanks! I'll be waiting.
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
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
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
As a quick fix you may change
@Entity(name = "fr.proline.core.orm.msi.Peptide")
to@Entity(name = "Peptide")
infr.proline.core.orm.msi.Peptide
.Does this request work fine during runtime?
Hi
Indeed this fixe the problem ! I will know check and use more complexe query needed to improve performance !
Thanks for your help.
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.
Yes it works fine in my application, it's only in the console that the error occurs
Thanks!
Please follow https://youtrack.jetbrains.com/issue/IDEA-346726 for updates.