Hibernate HQL issue after migration from Jboss4.2 to Jboss7.2

229 views Asked by At

Recently We have migrated from Jboss4.2 to Jboss 7.2. Exact same HQL query is running fine for Jboss4.2. But in Jboss7.2 HQL query is not running properly in Jboss7.2, it's giving error that I have mentioned below:

no persistent classes found for query class: SELECT distinct
pf.projectFormId FROM com.gsk.rd.craw.model.ProjectForm pf   left join
pf.contacts c WHERE pf.createdBy=:mudid OR pf.modifiedBy=:mudid OR
c.mudid=:mudid 

java.lang.IllegalArgumentException:
org.hibernate.QueryParameterException: could not locate named
parameter



18:33:04,338 TRACE [org.hibernate.engine.query.spi.QueryPlanCache]
(http-/127.0.0.1:8080-1) Unable to locate HQL query plan in cache;
generating (SELECT distinct pf.projectFormId FROM
com.gsk.rd.craw.model.ProjectForm pf   left join pf.contacts c WHERE
pf.createdBy=:mudid OR pf.modifiedBy=:mudid OR c.mudid=:mudid )
18:33:04,338 TRACE [org.jboss.modules] (http-/127.0.0.1:8080-1)
Finding class com.gsk.rd.craw.model.ProjectForm from Module
"deployment.craw.ear:main" from Service Module Loader 18:33:04,338
TRACE [org.jboss.modules] (http-/127.0.0.1:8080-1) Finding local class
com.gsk.rd.craw.model.ProjectForm from Module
"deployment.craw.ear.craw_jar.jar:main" from Service Module Loader
18:33:04,338 TRACE [org.jboss.modules] (http-/127.0.0.1:8080-1) Found
previously loaded class com.gsk.rd.craw.model.ProjectForm from Module
"deployment.craw.ear.craw_jar.jar:main" from Service Module Loader
18:33:04,339 WARN  [org.hibernate.hql.internal.QuerySplitter]
(http-/127.0.0.1:8080-1) HHH000183: no persistent classes found for
query class: SELECT distinct pf.projectFormId FROM
com.gsk.rd.craw.model.ProjectForm pf   left join pf.contacts c WHERE
pf.createdBy=:mudid OR pf.modifiedBy=:mudid OR c.mudid=:mudid 
18:33:04,339 INFO  [stdout] (http-/127.0.0.1:8080-1)
0000000000000000000000000000000003333333333333333333333333


18:33:04,346 TRACE [org.jboss.modules] (http-/127.0.0.1:8080-1)
Finding local class org.hibernate.internal.AbstractQueryImpl from
Module "org.hibernate:main" from local module loader @3c20902c
(finder: local module finder @7dd9578a (roots:
D:\CRAW_JBOSS7.2\aries-sandbox\jboss-as-7.2.0.Final\modules,D:\CRAW_JBOSS7.2\aries-sandbox\jboss-as-7.2.0.Final\modules\system\layers\base))
18:33:04,346 TRACE [org.jboss.modules] (http-/127.0.0.1:8080-1) Found
previously loaded class org.hibernate.internal.AbstractQueryImpl from
Module "org.hibernate:main" from local module loader @3c20902c
(finder: local module finder @7dd9578a (roots:
D:\CRAW_JBOSS7.2\aries-sandbox\jboss-as-7.2.0.Final\modules,D:\CRAW_JBOSS7.2\aries-sandbox\jboss-as-7.2.0.Final\modules\system\layers\base))
18:33:04,341 SEVERE [facelets.viewhandler] (http-/127.0.0.1:8080-1)
Error Rendering View[/ProjectFormCatalog.jsp]:
java.lang.IllegalArgumentException:
org.hibernate.QueryParameterException: could not locate named
parameter [mudid]

We have upgraded:

  • Java from jdk1.5 to jdk1.7,
  • Hibernate 3 to Hibernate 4,
  • JPA 1 we have used for both version,
  • EJB 3 we have used for both version
2

There are 2 answers

20
Anup Dey On

Check your HQL query syntax whether mudid is really a database column name/hibernate Entity property name available or not?

13
Anup Dey On

Example of a OneToMany relationship and inverse ManyToOne annotations

@Entity
public class ProjectForm ....
...
@Id
@Column(name="PF_ID")
private long projectFormId;
...
@OneToMany(mappedBy="projectForm", cascade = { CascadeType.ALL})
private Set<Contact> contacts = new HashSet<Contact>();
...


@Entity
public class Contact ...
...
@ManyToOne(cascade= {CascadeType.ALL} , fetch=FetchType.LAZY)
@JoinColumn(name="PROJECTFORM_CONTACT")
private ProjectForm projectForm;
...