I'm doing something similar but getting the funny error. I m using MySQL. If I understood the error, I will try hunting it down.
Sent from my iPhone > On Mar 17, 2014, at 9:54 PM, Jeroen van der Wal <[email protected]> wrote: > > Hi James, > > The invoice summaries in Estatio also contain queries. > > Example: > https://github.com/estatio/estatio/blob/master/dom/src/main/java/org/estatio/dom/invoice/viewmodel/InvoiceSummaryForInvoiceRun.java > Accessed through the repository: > https://github.com/estatio/estatio/blob/master/dom/src/main/java/org/estatio/dom/invoice/viewmodel/InvoiceSummariesForInvoiceRun.java > > Hope this helps. > > Jeroen >> On 17 Mar 2014 20:50, "james agada" <[email protected]> wrote: >> >> any help? Cant seem to be able to track this down. >> >> >>> On Sun, Mar 16, 2014 at 7:52 PM, james agada <[email protected]> wrote: >>> >>> Following the examples in Estatio, I have defined a query model like this >>> >>>> >>>> @javax.jdo.annotations.PersistenceCapable( >>>> >>>> identityType = IdentityType.NONDURABLE, >>>> >>>> table = "DailySalesTotalForParty", >>>> >>>> extensions = { >>>> >>>> @Extension(vendorName = "datanucleus", key = >>>> "view-definition-mysql", >>>> >>>> value = "CREATE VIEW {DailySalesTotalForParty} " + >>>> >>>> "( " + >>>> >>>> " {this.transactionDate}, " + >>>> >>>> " {this.totalAmount} ," + >>>> >>>> " {this.fromPartyReference}, " + >>>> >>>> " {this.transactiontype} " + >>>> >>>> ") AS " + >>>> >>>> "SELECT " + >>>> >>>> " {Transaction.transactionDate} , " + >>>> >>>> >>>> " SUM({Transaction.faceValue}) AS totalAmount ," + >>>> >>>> // " \"Transaction\".\"fromParty_Party_ID_OID\" AS >>>> \"fromParty\", " + >>>> >>>> " {Transaction.fromPartyReference} , " + >>>> >>>> >>>> " {Transaction.transactiontype} " + >>>> >>>> " FROM " + >>>> >>>> " {Transaction} " + >>>> >>>> "GROUP BY " + >>>> >>>> " {Transaction.transactionDate}, " + >>>> >>>> " {Transaction.fromPartyReference}, " + >>>> >>>> " {Transaction.transactiontype} " >>>> >>>> + >>>> >>>> "ORDER BY " + >>>> >>>> " {Transaction.transactionDate}, " + >>>> >>>> " {Transaction.fromPartyReference}, " + >>>> >>>> " {Transaction.transactiontype}" >>>> >>>> ) >>>> >>>> }) >>>> >>>> @javax.jdo.annotations.Inheritance(strategy = >>>> InheritanceStrategy.NEW_TABLE) >>>> >>>> @javax.jdo.annotations.Queries( { >>>> >>>> @javax.jdo.annotations.Query( >>>> >>>> name="DailySalesForParty", language="JDOQL", >>>> >>>> value="SELECT FROM dom.todo.DailySalesTotalForParty WHERE >>>> fromPartyReference == :party ") >>>> >>>> }) >>>> >>>> @Bookmarkable >>>> >>>> @Immutable >>>> >>>> public class DailySalesTotalForParty { ........ >>> >>> I try to get the records from the view using the Query definition in a >>> service as >>> >>>> @Programmatic >>>> >>>> public List<DailySalesTotalForParty> getDailySalesTotalForParty(Party >> p){ >>>> >>>> //get party id >>>> >>>> //get party >>>> >>>> //String party = p.getUniqueRef(); >>>> >>>> //party="2"; >>>> >>>> return allMatches( >>>> >>>> new QueryDefault<DailySalesTotalForParty>( >> DailySalesTotalForParty.class, >>>> >>>> "DailySalesForParty", >>>> >>>> "party",p.getUniqueRef()); >>>> >>>> } >>> >>> But I end up with this error during runtime >>> >>> [exec] 19:52:40,699 [Native qtp1993764967-32 DEBUG] >> SELECT >>>> 'dom.todo.DailySalesTotalForParty' AS >> NUCLEUS_TYPE,`A0`.`FROMPARTYREFERENCE`,`A0`.`TOTALAMOUNT`,`A0`.`TRANSACTIONDATE`,`A0`.`TRANSACTIONTYPE` >>>> FROM `DAILYSALESTOTALFORPARTY` `A0` WHERE `A0`.`FROMPARTYREFERENCE` = >> <'2'> >>>> >>>> [exec] 19:52:40,778 [RequestCycleExtra qtp1993764967-32 WARN ] >>>> ******************************** >>>> >>>> [exec] 19:52:40,778 [RequestCycleExtra qtp1993764967-32 WARN ] >>>> Handling the following exception >>>> >>>> [exec] org.apache.wicket.WicketRuntimeException: Error attaching >>>> this container for rendering: [WebMarkupContainer [Component id = body]] >>>> >>>> [exec] at >> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1693) >>>> >>>> [exec] >>> .......... >>> >>> [exec] Caused by: java.lang.RuntimeException: >>> java.lang.IllegalArgumentException: identifier >>> 'org.datanucleus.identity.SCOID_org.datanucleus.identity.SCOID@73946e71' >>> contains an '@' symbol >>> >>> [exec] at >> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:273) >>> >>> [exec] at >> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:282) >>> >>> [exec] at >> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postLoadProcessingFor(FrameworkSynchronizer.java:69) >>> >>> [exec] at >> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryProcessorAbstract.loadAdapters(PersistenceQueryProcessorAbstract.java:82) >>> >>> [exec] at >> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:64) >>> >>> [exec] at >> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:43) >>> >>> [exec] at >> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.processPersistenceQuery(DataNucleusObjectStore.java:542) >>> >>> [exec] at >> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.loadInstancesAndAdapt(DataNucleusObjectStore.java:537) >>> >>> [exec] at >> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:461) >>> >>> [exec] at >> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:458) >>> >>> [exec] at >> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:217) >>> >>> [exec] at >> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstancesFromPersistenceLayer(PersistenceSession.java:458) >>> >>> [exec] at >> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstances(PersistenceSession.java:454) >>> >>> [exec] at >> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:391) >>> >>> [exec] at >> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:386) >>> >>> [exec] at >> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$8.allMatchingQuery(RuntimeContextFromSession.java:260) >>> >>> [exec] at >> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:400) >>> >>> [exec] at >> org.apache.isis.applib.AbstractContainedObject.allMatches(AbstractContainedObject.java:175) >>> >>> [exec] at >>> dom.todo.Partytypes.getDailySalesTotalForParty(Partytypes.java:392) >>> >>> [exec] at dom.todo.Party.getDailySales(Party.java:283) >>> >>> What could be wrong? What does >>> org.datanucleus.identity.SCOID_org.datanucleus.identity.SCOID@73946e71' >>> contains an '@' symbol mean? Where do I start to look for the problem? >>> >>
