Hi Himadri,

Good to know that it works.

I think kodo uses UNIONs with subclassFetchMode as join.

So, somehow the kodo configuration (which internally again uses openJPA) is 
being picked up and hence you are seeing UNIONs in the sql statements.

I will see if there is a way to use only openJPA without kodo coming into the 
picture at all on weblogic.

Regards,
Ravi.

-----Original Message-----
From: Himadri [mailto:hima_...@yahoo.co.in] 
Sent: Thursday, December 10, 2009 11:11 PM
To: users@openjpa.apache.org
Subject: Re: Open JPA generates incorrect Union All for Date and Boolean 
Datatype


Hi Ravi ,

Thanks ! It worked with none. I need to run all the test cases to see this
is not breaking others.

Yes , the default behaviour is JOIN not parallel , but User Guide mentions
parallel as default. We dont want JOIN. I have put it as none for now. 

All Entities extends EntityBase which has common attribute like id and
version. Do you think this is not a good way to implement ? 


Ravi P Palacherla wrote:
> 
> Hi Himadri,
> 
> Here are answers for some of your questions:
> 
>>> Why is it trying to get union all even for em.find(... ) ? 
> 
> In your application all the entities ( E.g: AddOn.java, Typed.java) are
> all subclasses of EntityBase.
> 
> If you use either of the following property:
> <property name="openjpa.jdbc.SubclassFetchMode" value="parallel"/>
> or
> <property name="openjpa.jdbc.SubclassFetchMode" value="none"/>
> then you will not see the error.
> 
> If you use parallel, then seperate select statements are used to eager
> fetch data for subclasses 
> and if you use "none" then I guess it will no try to fetch the subclasses.
> so, you can use any of the above properties to fix your issue.
> 
> The third type of SubclassFetchMode is "join" and even though the
> documentation claims that "parallel" is default mode 
> http://openjpa.apache.org/builds/1.1.0/apache-openjpa-1.1.0/docs/manual/manual.html#openjpa.jdbc.SubclassFetchMode
> The default looks like "join" mode.
> 
> So if using any of the above properties is acceptable to you then please
> use it.
> 
> If you must use "JOIN" then please let me know and I will spend more time
> to find the cause of the issue.
> 
> Regards,
> Ravi.
> 
> 
> 
> 
> 
> Himadri wrote:
>> 
>> So sorry .. attached the wrong one .. Please see the correct one here.If
>> I run the junit , I get this exception "javax.ejb.EJBException: EJB
>> Exception: ; nested exception is: 
>>      <openjpa-1.1.0-r422266:657916 nonfatal general error>
>> org.apache.openjpa.persistence.PersistenceException: [BEA][Oracle JDBC
>> Driver][Oracle]ORA-01790: expression must have same datatype as
>> corresponding expression
>>  {prepstmnt 2625 SELECT 0, t0.ID, t0.version, t0.master_Ref, t0.NAME_F,
>> '', 0, NULL, '', 0, 0, '1970-01-01', '', 0.0 FROM AddOn_T t0 WHERE t0.ID
>> = ? UNION ALL SELECT 1, t0.ID, t0.version, t0.addOn_Ref, t0.NAME_F, '',
>> 0, NULL, '', 0, 0, '1970-01-01', '', 0.0 FROM Master_T t0 WHERE t0.ID = ?
>> UNION ALL SELECT 2, t0.ID, t0.version, t0.NAME_F, t0.primaryMaster_Ref,
>> t0.secondaryMaster_Ref, 0, NULL, '', 0, 0, '1970-01-01', '', 0.0 FROM
>> Slave_T t0 WHERE t0.ID = ? UNION ALL SELECT 3, t0.ID, t0.version,
>> t0.addOn_Ref, t0.NAME_F, '', 0, NULL, '', 0, 0, '1970-01-01', '', 0.0
>> FROM SubAddOn_T t0 WHERE t0.ID = ? UNION ALL SELECT 4, t0.ID, t0.version,
>> t0.NAME_F, t0.slave_Ref, '', 0, NULL, '', 0, 0, '1970-01-01', '', 0.0
>> FROM SubSlave_T t0 WHERE t0.ID = ? UNION ALL SELECT 5, t0.ID, t0.version,
>> '', '', '', t0.COUNTER_F, t0.DATA_F, t0.ENUMED1_F, t0.ENUMED2_F,
>> t0.FLAG_F, t0.MOMENT_F, t0.NAME_F, t0.VALUE_F FROM TYPED_T t0 WHERE t0.ID
>> = ? [params=(String) 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A]} [code=1790, state=HY000]
>>      at
>> weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:105)
>>      at
>> weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:87)
>>      at $Proxy0.testType(Unknown Source)
>>      at com.tieto.magic.poc.test.TestSample.testP(TestSample.java:54)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>      at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>      at java.lang.reflect.Method.invoke(Method.java:597)
>>      at junit.framework.TestCase.runTest(TestCase.java:168)
>>      at junit.framework.TestCase.runBare(TestCase.java:134)
>>      at junit.framework.TestResult$1.protect(TestResult.java:110)
>>      at junit.framework.TestResult.runProtected(TestResult.java:128)
>>      at junit.framework.TestResult.run(TestResult.java:113)
>>      at junit.framework.TestCase.run(TestCase.java:124)
>>      at junit.framework.TestSuite.runTest(TestSuite.java:232)
>>      at junit.framework.TestSuite.run(TestSuite.java:227)
>>      at
>> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
>>      at
>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
>>      at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>      at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>>      at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>>      at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>>      at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>> Caused by: <openjpa-1.1.0-r422266:657916 nonfatal general error>
>> org.apache.openjpa.persistence.PersistenceException: [BEA][Oracle JDBC
>> Driver][Oracle]ORA-01790: expression must have same datatype as
>> corresponding expression
>>  {prepstmnt 2625 SELECT 0, t0.ID, t0.version, t0.master_Ref, t0.NAME_F,
>> '', 0, NULL, '', 0, 0, '1970-01-01', '', 0.0 FROM AddOn_T t0 WHERE t0.ID
>> = ? UNION ALL SELECT 1, t0.ID, t0.version, t0.addOn_Ref, t0.NAME_F, '',
>> 0, NULL, '', 0, 0, '1970-01-01', '', 0.0 FROM Master_T t0 WHERE t0.ID = ?
>> UNION ALL SELECT 2, t0.ID, t0.version, t0.NAME_F, t0.primaryMaster_Ref,
>> t0.secondaryMaster_Ref, 0, NULL, '', 0, 0, '1970-01-01', '', 0.0 FROM
>> Slave_T t0 WHERE t0.ID = ? UNION ALL SELECT 3, t0.ID, t0.version,
>> t0.addOn_Ref, t0.NAME_F, '', 0, NULL, '', 0, 0, '1970-01-01', '', 0.0
>> FROM SubAddOn_T t0 WHERE t0.ID = ? UNION ALL SELECT 4, t0.ID, t0.version,
>> t0.NAME_F, t0.slave_Ref, '', 0, NULL, '', 0, 0, '1970-01-01', '', 0.0
>> FROM SubSlave_T t0 WHERE t0.ID = ? UNION ALL SELECT 5, t0.ID, t0.version,
>> '', '', '', t0.COUNTER_F, t0.DATA_F, t0.ENUMED1_F, t0.ENUMED2_F,
>> t0.FLAG_F, t0.MOMENT_F, t0.NAME_F, t0.VALUE_F FROM TYPED_T t0 WHERE t0.ID
>> = ? [params=(String) 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A]} [code=1790, state=HY000]
>>      at
>> org.apache.openjpa.jdbc.sql.SQLExceptions.narrow(SQLExceptions.java:146)
>>      at
>> org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4150)
>>      at
>> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
>>      at
>> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:88)
>>      at
>> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:64)
>>      at
>> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:268)
>>      at
>> org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
>>      at
>> org.apache.openjpa.datacache.DataCacheStoreManager.initialize(DataCacheStoreManager.java:336)
>>      at
>> org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
>>      at
>> org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
>>      at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:894)
>>      at kodo.kernel.KodoBroker.initialize(KodoBroker.java:65)
>>      at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:852)
>>      at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:769)
>>      at kodo.kernel.KodoBroker.find(KodoBroker.java:232)
>>      at
>> org.apache.openjpa.kernel.DelegatingBroker.find(DelegatingBroker.java:183)
>>      at
>> org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:452)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>      at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>      at java.lang.reflect.Method.invoke(Method.java:597)
>>      at
>> weblogic.deployment.BasePersistenceContextProxyImpl.invoke(BasePersistenceContextProxyImpl.java:90)
>>      at
>> weblogic.deployment.TransactionalEntityManagerProxyImpl.invoke(TransactionalEntityManagerProxyImpl.java:89)
>>      at
>> weblogic.deployment.BasePersistenceContextProxyImpl.invoke(BasePersistenceContextProxyImpl.java:80)
>>      at
>> weblogic.deployment.TransactionalEntityManagerProxyImpl.invoke(TransactionalEntityManagerProxyImpl.java:24)
>>      at $Proxy140.find(Unknown Source)
>>      at
>> com.tieto.magic.poc.domain.DomainServicesBean.testType(DomainServicesBean.java:48)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>      at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>      at java.lang.reflect.Method.invoke(Method.java:597)
>>      at
>> com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
>>      at
>> com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
>>      at
>> com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
>>      at
>> com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
>>      at
>> com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
>>      at
>> com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
>>      at
>> com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:15)
>>      at
>> weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
>>      at
>> com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:30)
>>      at
>> com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
>>      at
>> com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
>>      at
>> com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
>>      at
>> com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
>>      at
>> com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
>>      at
>> com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
>>      at
>> com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
>>      at $Proxy142.testType(Unknown Source)
>>      at
>> com.tieto.magic.poc.domain.DomainServicesBean_au5mn8_DomainServicesRImpl.testType(DomainServicesBean_au5mn8_DomainServicesRImpl.java:65)
>>      at
>> com.tieto.magic.poc.domain.DomainServicesBean_au5mn8_DomainServicesRImpl_WLSkel.invoke(Unknown
>> Source)
>>      at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
>>      at
>> weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
>>      at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
>>      at
>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
>>      at weblogic.security.service.SecurityManager.runAs(Unknown Source)
>>      at
>> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
>>      at
>> weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
>>      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
>>      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>> Caused by: java.lang.Exception:
>> org.apache.openjpa.lib.jdbc.ReportingSQLException: [BEA][Oracle JDBC
>> Driver][Oracle]ORA-01790: expression must have same datatype as
>> corresponding expression
>>  {prepstmnt 2625 SELECT 0, t0.ID, t0.version, t0.master_Ref, t0.NAME_F,
>> '', 0, NULL, '', 0, 0, '1970-01-01', '', 0.0 FROM AddOn_T t0 WHERE t0.ID
>> = ? UNION ALL SELECT 1, t0.ID, t0.version, t0.addOn_Ref, t0.NAME_F, '',
>> 0, NULL, '', 0, 0, '1970-01-01', '', 0.0 FROM Master_T t0 WHERE t0.ID = ?
>> UNION ALL SELECT 2, t0.ID, t0.version, t0.NAME_F, t0.primaryMaster_Ref,
>> t0.secondaryMaster_Ref, 0, NULL, '', 0, 0, '1970-01-01', '', 0.0 FROM
>> Slave_T t0 WHERE t0.ID = ? UNION ALL SELECT 3, t0.ID, t0.version,
>> t0.addOn_Ref, t0.NAME_F, '', 0, NULL, '', 0, 0, '1970-01-01', '', 0.0
>> FROM SubAddOn_T t0 WHERE t0.ID = ? UNION ALL SELECT 4, t0.ID, t0.version,
>> t0.NAME_F, t0.slave_Ref, '', 0, NULL, '', 0, 0, '1970-01-01', '', 0.0
>> FROM SubSlave_T t0 WHERE t0.ID = ? UNION ALL SELECT 5, t0.ID, t0.version,
>> '', '', '', t0.COUNTER_F, t0.DATA_F, t0.ENUMED1_F, t0.ENUMED2_F,
>> t0.FLAG_F, t0.MOMENT_F, t0.NAME_F, t0.VALUE_F FROM TYPED_T t0 WHERE t0.ID
>> = ? [params=(String) 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A, (String)
>> 34B85860E33211DE984DF2390A53043A]} [code=1790, state=HY000]
>>      at
>> org.apache.openjpa.util.Exceptions.replaceNestedThrowables(Exceptions.java:249)
>>      at
>> org.apache.openjpa.persistence.PersistenceException.writeObject(PersistenceException.java:100)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>      at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>      at java.lang.reflect.Method.invoke(Method.java:597)
>>      at
>> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>>      at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
>>      at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>      at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>>      at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>>      at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>>      at
>> weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:618)
>>      at
>> weblogic.rjvm.MsgAbbrevOutputStream.sendThrowable(MsgAbbrevOutputStream.java:471)
>>      at
>> weblogic.rmi.internal.BasicServerRef.handleThrowable(BasicServerRef.java:694)
>>      at
>> weblogic.rmi.internal.BasicServerRef.postInvoke(BasicServerRef.java:650)
>>      at
>> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:492)
>>      ... 3 more
>> 
>> "
>> 
>>  http://n2.nabble.com/file/n4138239/SampleEJBEar.ear SampleEJBEar.ear 
>> 
>> Ravi P Palacherla wrote:
>>> 
>>> Looks like the SampleEJB.ear in the attachment is not a correct ear.
>>> I am unable to deploy it on Weblogic server.
>>> 
>>> Also the configuration files (like persistence.xml) and entities are
>>> missing in the attachment without which I may not be able to tell what
>>> configuration you are using.
>>> 
>>> Are you using openJPA configurations or kodo configurations ?
>>> There was a known issue with a CLOB data type when kodo configuration is
>>> used. 
>>> The fix for this is in kodo files, it overrides openJPA's classes in
>>> order to fix it.
>>> 
>>> Before going into details of the fix, Please attach a replicable
>>> testcase.
>>> That way I can see if the same fix applies for your scenario or not.
>>> 
>>> It would be great if you are able to replicate the issue with openJPA
>>> configuration itself; we can work together on resolving the issue in
>>> openJPA itself.
>>> 
>>> Also there were some workarounds of setting
>>> "SubclassFetchMode=none";which I would not completely recommend with out
>>> understanding your complete environment.
>>> 
>>> Regards,
>>> Ravi.
>>> 
>>> 
>>> himadri wrote:
>>>> 
>>>> 
>>>> 
>>>> Hi,
>>>> 
>>>> This is strange. The problem comes when I add Child Associations to the
>>>> entity. If I remove Child Asscoiations , all work fine. I have attached
>>>> my Sample here. 
>>>> Please see JPG for Entity Associations. SampleEJB.ear is the deployable
>>>> ear on WL10.3. 
>>>> 
>>>> Let me know if you find out anything .. for now I have replace all
>>>> em.find with em.createQuery(Select ...) , But will like to know the
>>>> real reason behind it ! 
>>>> 
>>>> Lemme know if I can provide more simplified sample ....
>>>> 
>>>> Thanks,
>>>> Himadri 
>>>> 
>>>> 
>>>> ________________________________
>>>> From: Kevin Sutter [via OpenJPA]
>>>> <ml-node+4103283-1191879...@n2.nabble.com>
>>>> To: himadri <hima_...@yahoo.co.in>
>>>> Sent: Thu, 3 December, 2009 5:39:17 AM
>>>> Subject: Re: Open JPA generates incorrect Union All for Date and
>>>> Boolean Datatype
>>>> 
>>>> This sounds very strange.  From your description, I have no idea why
>>>> Date 
>>>> and Boolean attributes are having problems with Oracle.  And, why a
>>>> Union 
>>>> All is being generated for a simple find operation baffles me as well. 
>>>> Unless there is some inheritance or eagerly fetched relationships
>>>> involved. 
>>>> Still, I thought OpenJPA used Joins over Unions. 
>>>> 
>>>> Can you simplify the problem to a simple testcase that could be
>>>> provided? 
>>>> 
>>>> Thanks, 
>>>> Kevin 
>>>> 
>>>> On Tue, Dec 1, 2009 at 7:15 AM, himadri <[hidden email]> wrote: 
>>>> 
>>>> 
>>>>> 
>>>>> Hi, 
>>>>> 
>>>>> I have an EJB3.0 application deployed on Weblogic 10.3 and Oracle 10g
>>>>> DB. I 
>>>>> have an entity Typed which has Date and Boolean datatypes. em.persist
>>>>> is 
>>>>> sucessful. 
>>>>> 
>>>>> But whereever there is em.find() on any entity in this application , I
>>>>> have 
>>>>> observed that open JPA  tries to get Union  of all entities. This may
>>>>> be 
>>>>> because its first time , But it fails with exception 
>>>>> 
>>>>> "[BEA][Oracle JDBC Driver][Oracle]ORA-01790:expression must have same 
>>>>> datatype as corresponding expression" 
>>>>> 
>>>>> The SQL generated is union all of all entities in the application .
>>>>> For 
>>>>> boolean FLAG_F , MOMENT_F wrong sql is generated. It should have
>>>>> to_date 
>>>>> function for date. I have used DATE and boolean in Entity class. 
>>>>> 
>>>>> SELECT 0, t0.ID, t0.version, t0.NAME_F, '', 0, NULL, '', 0, 0, 
>>>>> '1970-01-01', 
>>>>> '', 0.0 FROM AddOn_T t0 WHERE t0.ID = ? 
>>>>> UNION ALL 
>>>>> SELECT 1, t0.ID, t0.version, '', '', t0.COUNTER_F, t0.DATA_F,
>>>>> t0.ENUMED1_F, 
>>>>> t0.ENUMED2_F, t0.FLAG_F, t0.MOMENT_F, t0.NAME_F, t0.VALUE_F FROM
>>>>> TYPED_T t0 
>>>>> WHERE t0.ID = ? [params=(String) 30, (String) 30]} [code=1790,
>>>>> state=HY000] 
>>>>> 
>>>>> I guess openJPA fails to add to_date function for DATE and surrounding 
>>>>> chars 
>>>>> for boolean. Is this a bug or some settings available.  Why is it
>>>>> trying to 
>>>>> get union all even for em.find(... ) ? 
>>>>> 
>>>>> Thanks in advance.. 
>>>>> - H 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> View this message in context: 
>>>>> http://n2.nabble.com/Open-JPA-generates-incorrect-Union-All-for-Date-and-Boolean-Datatype-tp4093559p4093559.html
>>>>> Sent from the OpenJPA Users mailing list archive at Nabble.com. 
>>>>> 
>>>> 
>>>> 
>>>> ________________________________
>>>> 
>>>> View message @
>>>> http://n2.nabble.com/Open-JPA-generates-incorrect-Union-All-for-Date-and-Boolean-Datatype-tp4093559p4103283.html
>>>>  
>>>> To unsubscribe from Open JPA generates incorrect Union All for Date and
>>>> Boolean Datatype, click here. 
>>>> 
>>>> 
>>>> 
>>>>       The INTERNET now has a personality. YOURS! See your Yahoo!
>>>> Homepage. http://in.yahoo.com/
>>>>  
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://n2.nabble.com/Open-JPA-generates-incorrect-Union-All-for-Date-and-Boolean-Datatype-tp4093559p4149660.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to