Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Virtual Metlhods | questions

Hi Tom,
  Now my question is regarding ReadAllQuery. Since we use ReadAllQuery and serach like below

                Session session = getActiveSession(em); >>>>
                ReadAllQuery query = new ReadAllQuery();

                // Create _expression_ from Search Criteria use locale as set in Context object
                GenericSearchCriteria<?> gsc = searchInput.getSearchCriteria();
                gsc.setLocale(ohiBusinessContext.getLocale());
                GenerateEclipseLinkExpression genExpression = new GenerateEclipseLinkExpression(gsc,
                        dynamicSearchExpressionContextProvider);

                ClassDescriptor cd = session.getClassDescriptor(gsc.getPersistableClass());

                // Setup how the query should be executed
                setQueryExecutionConfiguration(searchInput, session, query, gsc, genExpression, cd);

                _expression_ exp = genExpression.buildSelectionCriteriaFromSearchCriteria(gsc.getSearchCriteria());

                // ExampleObject
                query.setReferenceClass(gsc.getPersistableClass());
                if (exp != null) {
                    logger.debug("_expression_ is: {0}", exp);
                    query.setSelectionCriteria(exp);
                }
                NanoStopWatch swInner = new NanoStopWatch();
                swInner.start();

                // Execute the query
                List<Object> results = CastUtil.castToList(session.executeQuery(query));

 - -------  - -------  - -------  - -------  - -------  - -------  - -------  - -------  - -------  - -------  - -------  - -------  - -------  - -------  - -------  - -------
Search Example - To the entity CtrClaimDomain, new mappings have weaved. With the call nameOfField,ctrClaim.get(nameOfField) I am trying to fetch them
    List<CtrClaim> ctrClaims = new SearchBuilder(CtrClaim.class).execute();
                for (CtrClaim ctrClaim : ctrClaims) {
                    Map<String, Object> dynRecs1 =  ctrClaim.getDynamicRecords();
                    if (dynRecs1.size() > 0) {
                        for (Map.Entry<String, Object> entry : dynRecs1.entrySet()) {
                            String nameOfField = entry.getKey();
                            System.err.println(String.format("Name=%s Value=%s", nameOfField,ctrClaim.get(nameOfField)));
                        }
                       
                    }
                }
            }

I am getting the following exception

java.lang.NullPointerException
    at org.eclipse.persistence.mappings.ForeignReferenceMapping .valueFromRowInternal(ForeignReferenceMapping.java:2019)
    at org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java:1987)
    at org.eclipse.persistence.mappings.ForeignReferenceMapping.buildCloneFromRow(ForeignReferenceMapping.java:276)
    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildAttributesIntoWorkingCopyClone(ObjectBuilder.java:1548)
    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneFromRow(ObjectBuilder.java:1694)
    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:664)
    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:601)
    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:560)
    at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:717)
    at org.eclipse.persistence.queries.ReadAllQuery.registerResultInUnitOfWork(ReadAllQuery.java:769)
    at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:433)
    at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1081)
    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844)
    at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1040)
    at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:392)
    at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1128)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1449)
    at com.oracle.healthinsurance.support.domain.service.GenericSearchDAOImpl$16.doInJpa(GenericSearchDAOImpl.java:623)
    at com.oracle.healthinsurance.support.domain.service.GenericSearchDAOImpl$16.doInJpa(GenericSearchDAOImpl.java:1)

Back to the top