It works fine when my query is like this
final String query = " SELECT T1 from Table1 T1 LEFT JOIN FETCH
T1.property1 LEFT JOIN FETCH T1. property2 WHERE T1.property3 LIKE
:paramValue";
But when I use alias in query it does not work. Following query does not
work and give following exception.
final String query = " SELECT T1 from Table1 T1 LEFT JOIN FETCH
T1.property1 TP1 LEFT JOIN FETCH T1. property2 TP2 WHERE T1.property3
LIKE :paramValue";
Exception:
javax.ejb.EJBException: The bean encountered a non-application
exception.; nested exception is:
<openjpa-1.0.3-r420667:677674 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: An error occurred
while parsing the query. Error message: <openjpa-1.0.3-r420667:677674
nonfatal user error> org.apache.openjpa.kernel.jpql.ParseException:
Encountered "csa" at character 76, but expected: [",", ".", "GROUP",
"HAVING", "INNER", "JOIN", "LEFT", "ORDER", "WHERE", <EOF>].
at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjb
ProxyHandler.java:366)
at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandl
er.java:323)
at
org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13Invocat
ionHandler.java:49)
at $Proxy118.findProviderById(Unknown Source)
at
org.nemours.iguide.ui.resources.ProviderResource.getProviderDetail(Provi
derResource.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)