0

I am using Spring Data JPA and JPQL query. When trying to execute the below update query, getting the below error. How we can solved this problems?

Query:

@Query("UPDATE EmployeeSrc e SET e.employeeStat.employeeStatStatCd =?1, e.UpdtDt =?2, e.UpdtUserId =?3 "
            + "WHERE e.employeeStat.employeeStatStatCd =?4 AND e.EmpployeeNam =?5")
    public void updateXXXXXXXXX(Long employeeStatStatCd, Date UpdtDt, String lstUpdtUserId, 
            Long employeeStatStatCd, String employeeName);

Error:

Caused by: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.6.2.v20151217-774c696): org.eclipse.persistence.exceptions.JPQLException
Exception Description: Problem compiling [UPDATE EmployeeSrc e SET e.EmployeeStat.EmployeeStatCd =?1, e.UpdtDt =?2, e.UpdtUserId =?3 WHERE e.EmployeeStat.EmployeeStatCd =?4 AND e.EmployeeName =?5]. 
[20, 49] An association field cannot be used in an update item's path expression.
    at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildException(HermesParser.java:155)
    at org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate(HermesParser.java:347)
    at org.eclipse.persistence.internal.jpa.jpql.HermesParser.populateQueryImp(HermesParser.java:278)
    at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildQuery(HermesParser.java:163)
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:142)
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:116)
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:102)
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:86)
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1614)
    ... 61 more
Jeff Cook
  • 7,956
  • 36
  • 115
  • 186

0 Answers0