Session.readObject(..) v/s ReadObjectQuery

Is there any difference between using
session.readObject(DAO.class, expr) and
ReadObjectQuery(DAO.class, expr)?
Thanks,
Rajiv

Well, they're a very easy way to manage query re-use, and therefore reduce garbage collection.
Additionally, since named query construct can be separated from named query execution, named queries provide an easy way to abstract toplink in a service layer. All your service layer would provide would be mechanisms for executing queries by name. Your service layer could then pass through to toplink.
There are lots of benefits to this:
1. Query reuse. Implies less garbage which implies faster performance.
2. Abstraction. No toplink code outside the service layer (as you call it) (excepting perhaps valueholders).
3. Cleanliness. Your code has one mechanism for executing queries. By name. Why have lots of confusing ways to do the same thing?
4. Localization of queries. A surprisingly overlooked benefit. Named queries will normally be defined together, in one code location (eg 1 package). This makes it very easy to identify badly performing queries and re-write them without having to play hunt the expression builder.
Christian

Similar Messages

  • ReadObjectQuery - Invalid query key

    Hello again :)
    A have still stuck on TopLink :(
    I created very simple example:
    DB:
    create table TESTIK
    ID NUMBER not null,
    NAZEV VARCHAR2(255),
    VERSION NUMBER
    I created new project in TopLink WorkBench, created new session.. I mean, there is no problem (but I'm not sure :) ) .
    I created new Dynamic WebApplication in Eclipse, using Glassfish server and framework JSF...
    My source:
    This is my entity, represent table TESTIK
    Testik.class:
    package toplink.model.entity;
    import java.io.Serializable;
    public class Testik implements Serializable { // implements Serializable
         private int id;
         private String nazev;
         private int version;
         public Testik() {
         public int getId() {
              return id;
         public void setId(int id) {
              this.id = id;
         public String getNazev() {
              return nazev;
         public void setNazev(String nazev) {
              this.nazev = nazev;
         public int getVersion() {
              return version;
         public void setVersion(int version) {
              this.version = version;
    This is for create session - i don't now, is it rights? :)
    SessionSetting.class:
    package toplink.services.settings;
    import oracle.toplink.sessions.Project;
    import oracle.toplink.threetier.Server;
    import oracle.toplink.tools.workbench.XMLProjectReader;
    public class SessionSetting extends oracle.toplink.platform.xml. jaxp.JAXPPlatform {
         public SessionSetting() {
         public Server getSession(){
         System.setProperty("toplink.xml.platform", "oracle.toplink.platform.xml.jaxp.JAXPPlatform");
              Project myProject = XMLProjectReader.read("c:/ecl_work/TopLink_Intro/src/META-INF/TopLink_Intro.xml", Thread.currentThread().getContextClassLoader());
              Server serverSession = myProject.createServerSession();
              return serverSession;
    And if I want used some query:
    public Testik findById(int id) {
              SessionSetting ss = new SessionSetting();
              Server session = ss.getSession();
    Testik testik = (Testik) session.readObject(Testik.class, new ExpressionBuilder().get("id").equal(1));
              return testik;
    But this return Exception:
    javax.servlet.ServletException: #{testikManagedBean.najdiTestik}: Exception [TOPLINK-6015] (Oracle TopLink - 11g (11.1.1.0.0) (Build 080909)): oracle.toplink.exceptions.QueryException
    Exception Description: Invalid query key [id] in expression.
    Query: ReadObjectQuery(toplink.model.entity.Testik)
    Where testikManagedBean.najdiTestik call findById(int id) !
    I tried used StoredProcedureCall, ReadObjectQuery, ValueReadQuery, ReadAllQuery and nothing works :(
    Example:
    public Collection<Testik> findAll(){
              SessionSetting ss = new SessionSetting();
              Server session = ss.getSession();
              Collection<Testik> testiky = session.readAllObjects(Testik.class);
              return testiky;
    but in this example, it works a long time and return:
    javax.servlet.ServletException: #{testikManagedBean.vsechnyTestiky}: Exception [TOPLINK-4002] (Oracle TopLink - 11g (11.1.1.0.0) (Build 080909)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Exception input/output: The Network Adapter could not establish the connection
    Error Code: 17002
    Query: ReadAllQuery(toplink.model.entity.Testik)
    I know what it means in this problem, but I do not know where is it, because in the workbench I can normally connect to the database... Is this problem in sessions or where?
    Please, I tried some very simple example, how to use TopLink and Queries and i'm still stuck.. I'm newbie in toplink and I do not know your advice...
    Please, could you help me with my problem?
    Thanks in advance

    I still cannot find a problem :(
    My Toplink_Intro.xml source is here :
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink:object-persistence version="Oracle TopLink - 11g (11.1.1.0.0) (Build 080909)" xmlns:opm="http://xmlns.oracle.com/ias/xsds/opm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:toplink="http://xmlns.oracle.com/ias/xsds/toplink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <opm:name>TopLink_Intro</opm:name>
    <opm:class-mapping-descriptors>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <opm:class>toplink.model.entity.Testik</opm:class>
    <opm:alias>Testik</opm:alias>
    <opm:primary-key>
    <opm:field table="TESTIK" name="ID" xsi:type="opm:column"/>
    </opm:primary-key>
    <opm:events xsi:type="toplink:event-policy"/>
    <opm:querying xsi:type="toplink:query-policy"/>
    <opm:attribute-mappings>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>id</opm:attribute-name>
    <opm:field table="TESTIK" name="ID" xsi:type="opm:column"/>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>nazev</opm:attribute-name>
    <opm:field table="TESTIK" name="NAZEV" xsi:type="opm:column"/>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>version</opm:attribute-name>
    <opm:read-only>true</opm:read-only>
    <opm:field table="TESTIK" name="VERSION" xsi:type="opm:column"/>
    </opm:attribute-mapping>
    </opm:attribute-mappings>
    <toplink:descriptor-type>independent</toplink:descriptor-type>
    <toplink:locking xsi:type="toplink:version-locking-policy">
    <toplink:version-field table="TESTIK" name="VERSION" xsi:type="opm:column"/>
    </toplink:locking>
    <toplink:instantiation/>
    <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
    <toplink:tables>
    <toplink:table name="TESTIK"/>
    </toplink:tables>
    </opm:class-mapping-descriptor>
    </opm:class-mapping-descriptors>
    <toplink:login xsi:type="toplink:database-login">
    <toplink:platform-class>oracle.toplink.platform.database.oracle.Oracle10Platform</toplink:platform-class>
    <toplink:user-name>tpl</toplink:user-name>
    <toplink:password>90412C7B7643C5A83BC1D672E05E1D31</toplink:password>
    <toplink:driver-class>oracle.jdbc.OracleDriver</toplink:driver-class>
    <toplink:connection-url>jdbc:oracle:thin:@172.17.2.69:1521:ORCL</toplink:connection-url>
    </toplink:login>
    </toplink:object-persistence>
    and sessions.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink-sessions version="11g (11.1.1.0.0)" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <session xsi:type="database-session">
    <name>MyDBSession</name>
    <event-listener-classes/>
    <logging xsi:type="toplink-log">
    <log-level>fine</log-level>
    </logging>
    <primary-project xsi:type="xml">C:/ecl_work/TopLink_Intro/src/META-INF/TopLink_Intro.xml</primary-project>
    <login xsi:type="database-login">
    <platform-class>oracle.toplink.platform.database.oracle.Oracle10Platform</platform-class>
    <user-name>tpl</user-name>
    <password>90412C7B7643C5A83BC1D672E05E1D31</password>
    <sequencing>
    <default-sequence xsi:type="table-sequence">
    <name>Default</name>
    </default-sequence>
    </sequencing>
    <driver-class>oracle.jdbc.OracleDriver</driver-class>
    <connection-url>jdbc:oracle:thin:@172.17.2.69:1521:ORCL</connection-url>
    <struct-converters/>
    </login>
    </session>
    </toplink-sessions>
    Any idea, why I have still this exception:
    javax.servlet.ServletException: #{testikManagedBean.najdiTestik}: Exception [TOPLINK-6015] (Oracle TopLink - 11g (11.1.1.0.0) (Build 080909)): oracle.toplink.exceptions.QueryException
    Exception Description: Invalid query key [id] in expression.
    Query: ReadObjectQuery(toplink.model.entity.Testik)
    in this code?
    Testik testik = (Testik) session.readObject(Testik.class, new ExpressionBuilder().get("id").equal(1));
    Thanks in advance
    Edit:
    And if I used this code:
    Collection<Testik> testiky = session.readAllObjects(Testik.class);
    then returns this exception:
    javax.servlet.ServletException: #{testikManagedBean.vsechnyTestiky}: Exception [TOPLINK-4002] (Oracle TopLink - 11g (11.1.1.0.0) (Build 080909)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: ORA-00936: missing word
    Error Code: 936
    Call: SELECT FROM TESTIK
    Query: ReadAllQuery(toplink.model.entity.Testik)
    Edited by: KLD on Nov 10, 2008 12:34 AM

  • ReadObject() / refreshObject() / mergeClone() problems / questions...

    Long story as short as I can make it...
    We want to make changes to an object outside a unit of work (it's a longer story)...
    and then when we're done making changes, get a clean copy of the object from the
    database in a unitOfWork, apply our changes to this, and then commit...
    I've got an object:
    (1) Customer changedCustomer = getCustomerToChange();
    (2)changedCustomer.setCode("123");
    I was hoping to do something like the following:
    (3) UnitOfWork uow = clientSession.getUnitOfWork();
    (4) Customer existingCustom = new Customer();
    (5) existingCustomer.setId(changedCustomer.getId());
    (6) existingCustomer = uow.readObject(existingCustomer); // Get a clean copy of the customer
    (7) existingCustomer = (CustomerBO)uow.registerObject(existingCustomer);
    (8) existingCustomer = uow.mergeClone(changedCustomer); // Apply our changes...
    (9) uow.commit(); // commit...
    The problem is that after line (6), existingCustomer.getCode() returns "123",
    rather than the value that is stored in the database... So existingCustomer
    is coming from out cache(?) rather than being loaded clean from the database, and
    TOPLink doesn't see that the code has changed in lines 8/9...
    I tried a call to refreshObject() to ensure I'm getting a clean copy from the database:
    (6.5) existingCustomer = uow.refreshObject(existingCustomer);
    After this, getCode() returns the value from the database, as expected... BUT(!)
    changedCustomer.getCode now also returns the value from the database... changedCustomer
    and existing customer have different hashCode() values...
    Am I missing something? Is what I am trying possible?
    Chris

    Chris
    You're probably trying to do changes on the original object.
    I suppose your method getCustomerToChange() returns an object read through a "session.readObject(...)" or something like that.
    Then you modify it in (2).
    At step (6) you try to read the original, but you get a clone of the one you modified at step (2)!
    And when you try to do a refresh (6.5) you replace the original object you modifed in step (2) with the database value.
    You souldn't modify an object read through the session.
    Use the uow to read it or do the modifications on a copy instead.
    Ivan

  • Mwp file not opening in jdev

    Hi
    We are using 10.1.3.4 SOA n JDev. The MWP files are not opening in Jdev and while opening the project we are getting errors with the following log:
    java.lang.RuntimeException: java.lang.ClassCastException: java.lang.String
    at oracle.toplink.addin.manager.MWJDeveloperMediator.openTopLinkProject(MWJDeveloperMediator.java:328)
    at oracle.toplink.addin.manager.MWJDeveloperMediator.openTopLinkProjects(MWJDeveloperMediator.java:271)
    at oracle.toplink.addin.appnav.TopLinkProjectChangeListener.projectOpened(TopLinkProjectChangeListener.java:93)
    at oracle.ide.model.Project$StorageListener.fireProjectOpened(Project.java:1168)
    at oracle.ide.model.Project$StorageListener.mav$fireProjectOpened(Project.java:1135)
    at oracle.ide.model.Project$NL.nodeOpened(Project.java:1127)
    at oracle.ide.model.Node.fireNodeOpened(Node.java:1139)
    at oracle.ide.model.Node.open(Node.java:573)
    at oracle.ide.model.Node.ensureOpen(Node.java:976)
    at oracle.ide.model.DataContainer$2.run(DataContainer.java:147)
    at oracle.ide.model.Node.runWhileSynchronized(Node.java:809)
    at oracle.ide.model.DataContainer.getSharedPropertiesOnly(DataContainer.java:152)
    at oracle.ide.model.Project.getPropertiesImpl(Project.java:1097)
    at oracle.ide.model.Project.getProperties(Project.java:323)
    at oracle.ide.model.ProjectContent.getInstance(ProjectContent.java:122)
    at oracle.ide.model.ContentLevel.initChildren(ContentLevel.java:88)
    at oracle.ide.model.ContentSetFilter.initChildren(ContentSetFilter.java:28)
    at oracle.ide.model.ContentFilter.getChildrenImpl(ContentFilter.java:121)
    at oracle.ide.model.ContentFilter.getChildren(ContentFilter.java:64)
    at oracle.ideimpl.explorer.BaseTreeExplorer.addChildren(BaseTreeExplorer.java:360)
    at oracle.ideimpl.explorer.BaseTreeExplorer.open(BaseTreeExplorer.java:872)
    at oracle.ideimpl.explorer.BaseTreeExplorer$2.run(BaseTreeExplorer.java:1788)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Caused by: java.lang.ClassCastException: java.lang.String
    at oracle.toplink.mappings.foundation.AbstractCompositeCollectionMapping.valueFromRow(AbstractCompositeCollectionMapping.java:727)
    at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1045)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:525)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:381)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildObjectsInto(ObjectBuilder.java:677)
    at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.buildObjectsFromRows(DatabaseQueryMechanism.java:142)
    at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:483)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:812)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:780)
    at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:451)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2089)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolicy.java:262)
    at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java:1151)
    at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1045)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:525)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:381)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:456)
    at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:424)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:812)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:780)
    at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:388)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2089)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    at oracle.toplink.publicinterface.Session.readObject(Session.java:2591)
    at oracle.toplink.workbench.ui.WorkbenchSession.getMWProjectNamed(WorkbenchSession.java:76)
    at oracle.toplink.addin.persistence.MWJDeveloperPersistence.open(MWJDeveloperPersistence.java:234)
    at oracle.toplink.addin.manager.MWJDeveloperMediator.openTopLinkProject(MWJDeveloperMediator.java:323)
    ... 28 more
    Please provide inputs for the resolution of this as the DB Adapter wizards are not showing proper configuration and we want to do some changes in the DB adapter setup.
    Thanks

    Better post this on the SOA Suite forum.
    Is this something that happens on various laptops - or just on one?

  • Project does not open with TopLink 10.1.3 DP3 R2

    I have a project that opens fine with 10.0.3 DP Build 031022 but won't open with 10g DP3 Build 041116. Here's the error. I 'd appreciate any suggestions or workarounds short of re-creating the project from scratch.
    racle.toplink.workbench.framework.OpenException: Exception [TOPLINK-106] (Oracle TopLink - 10g Developer Preview 3 (10.1.3.0 ) (Build 041116)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The method [legacySetDatabasePlatformNameForTopLink] on the object is throwing an exception.
    Argument: [Oracle9]
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.IllegalArgumentException: missing database platform named: Oracle9
    Mapping: oracle.toplink.mappings.DirectToFieldMapping[databasePlatformName-->platform-name]
    Descriptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.db.MWDatabase --> [DatabaseTable(database)])
         at oracle.toplink.workbench.mappingsplugin.MWPlugin.open(MWPlugin.java:267)
         at oracle.toplink.workbench.framework.internal.FrameworkApplication.open(FrameworkApplication.java:608)
         at oracle.toplink.workbench.framework.internal.FrameworkNodeManager.openCallback(FrameworkNodeManager.java:325)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run2(RunnableProjectLoader.java:81)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run(RunnableProjectLoader.java:68)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: Exception [TOPLINK-106] (Oracle TopLink - 10g Developer Preview 3 (10.1.3.0 ) (Build 041116)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The method [legacySetDatabasePlatformNameForTopLink] on the object is throwing an exception.
    Argument: [Oracle9]
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.IllegalArgumentException: missing database platform named: Oracle9
    Mapping: oracle.toplink.mappings.DirectToFieldMapping[databasePlatformName-->platform-name]
    Descriptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.db.MWDatabase --> [DatabaseTable(database)])
         at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileSettingValueThruMethodAccessor(DescriptorException.java:1676)
         at oracle.toplink.internal.descriptors.MethodAttributeAccessor.setAttributeValueInObject(MethodAttributeAccessor.java:145)
         at oracle.toplink.mappings.DatabaseMapping.setAttributeValueInObject(DatabaseMapping.java:1006)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:912)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:235)
         at oracle.toplink.sdk.SDKAggregateObjectMapping.buildCompositeObject(SDKAggregateObjectMapping.java:56)
         at oracle.toplink.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow(AbstractCompositeObjectMapping.java:120)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:911)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:235)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:504)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:372)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:408)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:372)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:727)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:559)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:336)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1977)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:973)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:930)
         at oracle.toplink.publicinterface.Session.readObject(Session.java:2429)
         at oracle.toplink.workbench.mappingsio.legacy.PersistenceTools50.readMWProjectNamed(PersistenceTools50.java:328)
         at oracle.toplink.workbench.mappingsio.legacy.LegacyIOFacade.read50Project(LegacyIOFacade.java:14)
         at oracle.toplink.workbench.mappingsio.ProjectReader.readPreviousVersion(ProjectReader.java:92)
         at oracle.toplink.workbench.mappingsio.ProjectReader.read(ProjectReader.java:85)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:48)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:44)
         at oracle.toplink.workbench.mappingsplugin.MWPlugin.open(MWPlugin.java:265)
         ... 5 more
    Caused by: java.lang.reflect.InvocationTargetException

    Fixed it by opening the .mwp file with a text editor and changing "Oracle9" string to "Oracle9i" and then saved it from 10.1.3DP3 R2 Toplink. Hope this is the correct fix.

  • Database query in toplink

    hi all,
    I need to fetch single row from table and have to print it on JSF page in outputText and inputputText boxes....
    what should be the procedure???
    how to write the query?
    and the resultset that is retrieved is in the form of vector how to put their values in outputText boxes?

    Hello,
    Your questions are pretty broad, but let me address the TopLink aspects of your questions. Once you have an object retrieved via TopLink, then you can consider your JSF presentation of the data that is housed within the object.
    Lets say you have a java class named X, and you want instances of X persisted to a table that is also named X. Now you are interested in using TopLink to hydrate an instance of X so that you can render some information for that instance, which contains of course data from table X.
    In general, you TopLink map X.class to the table named X with all of the columns in the table mapped to instance attributes defined on X.java or one of its superclasses.
    Now the question is how to locate the row of interest from table X? Since you are interested in only one row, it is most likely that you are interested in identifying that row of interest by its primary key, which is likely some numeric surrogate key.
    Lets assume you are interested in retrieval by primary key. Lets also assume that the X_ID column on the X table is its primary key. Lets also assume the id instance attribute on X.java (or from one of its superclasses) is TopLink mapped and is simply a direct to field mapping, so the id instance attribute on X.java would take on the value housed in X.X_ID. Lets further assume you want to find the instance of X where X_ID = 123.
    The resultset that is retrieved via TopLink does not have to be a Vector (List) of objects. You can express to TopLink that you are only interested in retrieving one object by use of oracle.toplink.queryframework.ReadObjectQuery or oracle.toplink.sessions.Session.readObject().
    If you choose the Session.readObject() approach, here is how you obtain the reference to the instance of X that represents the row where X.X_ID = 123:
    obtain reference to Session via SessionManager.getManager().getSession(sessionName);
    ExpressionBuilder builder = new ExpressionBuilder();
    Expression selectionCriteria = builder.get("id").equal(123);
    X foundInstance = (X) session.readObject(X.class,selectionCriteria);
    If you choose the ReadObjectQuery approach, here is how you obtain the reference:
    ReadObjectQuery query = new ReadObjectQuery();
    query.setReferenceClass(X.class);
    query.setSelectionCriteria(selectionCriteria); // defined above
    X foundInstance = (X) session.executeQuery(query);
    Once you have a handle to the X instance of interest, you can then go about rendering information about it to an end user via a JSP or JSF JSP page. Typically the queries that I show above are written as part of the implementation of an operation on a Session EJB, but it can be done without a Session EJB as well.
    I suggest you take a look at the TopLink Developer's Guide : http://download-west.oracle.com/docs/cd/B31017_01/web.1013/b28218/toc.htm as well as the TopLink API Reference from Javadoc : http://download-west.oracle.com/docs/cd/B31017_01/web.1013/b28219/index.html. Both of these documents are for TopLink 10.1.3.1, but you probably want to find the documentation for the version of TopLink you are using just in case.
    Hope that helps,
    Doug

  • NullPointer exception in DatabaseAccessor.prepareStatement

    I have been trying to trace the following error for about 2 days now without any luck. Also the surprising part is that this class does not have a javadoc in the API nor is the source code available in the Toplink-src zip file included with the Toplink 101300 download.
    The query to be executed is being generated and output correctly, with all bind variables having valid values.
    [TopLink Fine]: 2006.06.29 03:14:22.079--UnitOfWork(8886)--Connection(8888)--Thread(Thread[ApplicationServerThread-0,5,RequestThreadGroup])--SELECT t1.PROMOTION_ID, t1.INVOICE_STATUS, t1.INVOICE_TO, t1.INVOICE_DATE, t1.OVERRIDE_REASON, t1.STATUS_UPDATED_DATE, t1.INVOICE_NUMBER, t1.STATUS_UPDATED_BY, t1.PROGRAM_ID, t1.STATUS_CODE, t1.PROMOTION_APP_ID, t1.AUDIT_ID FROM CALENDAR t4, PROMOTION_APPLICATIONS t3, PROGRAM t2, PROMOTIONS t1, STATUS t0 WHERE (((t0.STATUS_CODE = ?) AND ((t2.PROGRAM_ID = ?) AND ((t3.ITEM_NUMBER = ?) AND (t4.PROMOTION_PERIOD = ?)))) AND ((((t0.STATUS_CODE = t1.STATUS_CODE) AND (t2.PROGRAM_ID = t1.PROGRAM_ID)) AND (t3.PROMOTION_APP_ID = t1.PROMOTION_APP_ID)) AND (t4.PROMOTION_PERIOD = t3.PROMOTION_PERIOD)))
         bind => [A, 1.0, 178491.0, 200703]
    Can someone please help me understand what is wrong with the query. The error stack is as follows:
    [TopLink Warning]: 2006.06.29 03:14:22.079--UnitOfWork(8886)--Thread(Thread[ApplicationServerThread-0,5,RequestThreadGroup])--java.lang.NullPointerException
    06/06/29 15:14:22 java.lang.NullPointerException
    06/06/29 15:14:22      at oracle.toplink.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1159)
    06/06/29 15:14:22      at oracle.toplink.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:591)
    06/06/29 15:14:22      at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:489)
    06/06/29 15:14:22      at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:442)
    06/06/29 15:14:22      at oracle.toplink.publicinterface.UnitOfWork.executeCall(UnitOfWork.java:1603)
    06/06/29 15:14:22      at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:117)
    06/06/29 15:14:22      at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:103)
    06/06/29 15:14:22      at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.cursorSelectAllRows(DatasourceCallQueryMechanism.java:60)
    06/06/29 15:14:22      at oracle.toplink.queryframework.ScrollableCursorPolicy.execute(ScrollableCursorPolicy.java:72)
    06/06/29 15:14:22      at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:449)
    06/06/29 15:14:22      at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:800)
    06/06/29 15:14:22      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:603)
    06/06/29 15:14:22      at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:768)
    06/06/29 15:14:22      at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:436)
    06/06/29 15:14:22      at oracle.toplink.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:825)
    06/06/29 15:14:22      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2532)
    06/06/29 15:14:22      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:981)
    06/06/29 15:14:22      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:938)
    06/06/29 15:14:22      at org.springframework.orm.toplink.TopLinkTemplate$2.readFromSession(TopLinkTemplate.java:233)
    06/06/29 15:14:22      at org.springframework.orm.toplink.SessionReadCallback.doInTopLink(SessionReadCallback.java:75)
    06/06/29 15:14:22      at org.springframework.orm.toplink.TopLinkTemplate.execute(TopLinkTemplate.java:152)
    06/06/29 15:14:22      at org.springframework.orm.toplink.TopLinkTemplate.executeQuery(TopLinkTemplate.java:227)
    06/06/29 15:14:22      at org.springframework.orm.toplink.TopLinkTemplate.executeQuery(TopLinkTemplate.java:213)
    06/06/29 15:14:22      at xxx.core.persistence.AnyTypeObjectDao.find(AnyTypeObjectDao.java:97)
    06/06/29 15:14:22      at xxx.model.service.BusinessValidationServiceImpl.validateXXX(BusinessValidationServiceImpl.java:406)
    06/06/29 15:14:22      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    06/06/29 15:14:22      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    06/06/29 15:14:22      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    06/06/29 15:14:22      at java.lang.reflect.Method.invoke(Method.java:585)
    06/06/29 15:14:22      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
    06/06/29 15:14:22      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
    06/06/29 15:14:22      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    06/06/29 15:14:22      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    06/06/29 15:14:22      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    06/06/29 15:14:22      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
    06/06/29 15:14:22      at $Proxy0.validateXXX(Unknown Source)
    06/06/29 15:14:22      at xxx.model.service.PromotionsServiceImpl.persist(PromotionsServiceImpl.java:198)
    06/06/29 15:14:22      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    06/06/29 15:14:22      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    06/06/29 15:14:22      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    06/06/29 15:14:22      at java.lang.reflect.Method.invoke(Method.java:585)
    06/06/29 15:14:22      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
    06/06/29 15:14:22      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
    06/06/29 15:14:22      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    06/06/29 15:14:22      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    06/06/29 15:14:22      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    06/06/29 15:14:22      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
    06/06/29 15:14:22      at $Proxy1.persist(Unknown Source)
    06/06/29 15:14:22      at xxx.view.beans.PromotionApplicationMaintenanceBean.save(PromotionApplicationMaintenanceBean.java:737)
    06/06/29 15:14:22      at xxx.view.beans.PromotionApplicationMaintenanceBean.persist(PromotionApplicationMaintenanceBean.java:707)
    06/06/29 15:14:22      at xxx.view.beans.PromotionApplicationMaintenanceBean.executePersist(PromotionApplicationMaintenanceBean.java:480)
    06/06/29 15:14:22      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    06/06/29 15:14:22      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    06/06/29 15:14:22      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    06/06/29 15:14:22      at java.lang.reflect.Method.invoke(Method.java:585)
    06/06/29 15:14:22      at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
    06/06/29 15:14:22      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
    06/06/29 15:14:22      at oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
    06/06/29 15:14:22      at oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:94)
    06/06/29 15:14:22      at oracle.adf.view.faces.component.UIXPage.broadcast(UIXPage.java:122)
    06/06/29 15:14:22      at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    06/06/29 15:14:22      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
    06/06/29 15:14:22      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
    06/06/29 15:14:22      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
    06/06/29 15:14:22      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
    06/06/29 15:14:22      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
    06/06/29 15:14:22      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    06/06/29 15:14:22      at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
    06/06/29 15:14:22      at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
    06/06/29 15:14:22      at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
    06/06/29 15:14:22      at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
    06/06/29 15:14:22      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
    06/06/29 15:14:22      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
    06/06/29 15:14:22      at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
    06/06/29 15:14:22      at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:78)
    06/06/29 15:14:22      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
    06/06/29 15:14:22      at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:143)
    06/06/29 15:14:22      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
    06/06/29 15:14:22      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:138)
    06/06/29 15:14:22      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
    06/06/29 15:14:22      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246)
    06/06/29 15:14:22      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
    06/06/29 15:14:22      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:220)
    06/06/29 15:14:22      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
    06/06/29 15:14:22      at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
    06/06/29 15:14:22      at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120)
    06/06/29 15:14:22      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)
    06/06/29 15:14:22      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
    06/06/29 15:14:22      at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
    06/06/29 15:14:22      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
    06/06/29 15:14:22      at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
    06/06/29 15:14:22      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
    06/06/29 15:14:22      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
    06/06/29 15:14:22      at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    06/06/29 15:14:22      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    06/06/29 15:14:22      at java.lang.Thread.run(Thread.java:595)

    Hi,
    I have NPE in DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1303) too and I'm wondering about solution of roy77's case.
    Please can you (roy77, jsutherl, ... ) give a solution or any tip?
    So I get NPE (see thereinafter ) sporadically in call uow.readObject(..) in thread witch is involved as individual automat - dispenser. So yes, multiple threads are involved.
    Sometimes(!) after this NPE is connection done so I must do
    if (! S4SessionFactory.getS4Session().getServer().isConnected()) {
    S4SessionFactory.getS4Session().getServer().login();
    I think it is error in my architecture but can not find it.
    Thank you very much for any hint.
    Jara
    07/01/06 08:30:43 java.lang.NullPointerException
    07/01/06 08:30:43      at oracle.toplink.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1303)
    07/01/06 08:30:43      at oracle.toplink.queryframework.SQLCall.prepareStatement(SQLCall.java:185)
    07/01/06 08:30:43      at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:636)
    07/01/06 08:30:43      at oracle.toplink.publicinterface.Session.executeCall(Session.java:793)
    07/01/06 08:30:43      at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:131)
    07/01/06 08:30:43      at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:115)
    07/01/06 08:30:43      at oracle.toplink.internal.queryframework.CallQueryMechanism.selectOneRow(CallQueryMechanism.java:586)
    07/01/06 08:30:43      at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectOneRowFromTable(ExpressionQueryMechanism.java:776)
    07/01/06 08:30:43      at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectOneRow(ExpressionQueryMechanism.java:747)
    07/01/06 08:30:43      at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:364)
    07/01/06 08:30:43      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:493)
    07/01/06 08:30:43      at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java:125)
    07/01/06 08:30:43      at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1958)
    07/01/06 08:30:43      at oracle.toplink.threetier.ClientSession.internalExecuteQuery(ClientSession.java:390)
    07/01/06 08:30:43      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1086)
    07/01/06 08:30:43      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2223)
    07/01/06 08:30:43      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1086)
    07/01/06 08:30:43      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1038)
    07/01/06 08:30:43      at oracle.toplink.publicinterface.Session.readObject(Session.java:2492)
    07/01/06 08:30:43      at system.automat.AutomatKonverze.run(AutomatKonverze.java:149)

  • Conversion from Toplink 9.0.4,5 to 10.1.3.1.0

    Hi
    I'm trying to do the mentioned convertion but during the processing of the mwp file the following error occurs.
    Is there any known bug that causes such behavior?
    oracle.toplink.workbench.framework.OpenException: Wyjątek [TOPLINK-101] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DescriptorException
    Opis wyjątku: Użyta metoda wyzwoliła wyjątek.
    Wyjątek wewnętrzny: java.lang.reflect.InvocationTargetException
    Wyjątek wywołania celu: java.lang.ClassCastException: java.lang.String
    Odwzorowanie: oracle.toplink.mappings.TransformationMapping[legacySecondaryReferenceHandles]
    Deskryptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.descriptor.relational.MWDescriptorMultiTableInfoPolicy --> [DatabaseTable(multi-table-info-policy)])
         at oracle.toplink.workbench.mappingsplugin.MappingsPlugin.open(MappingsPlugin.java:290)
         at oracle.toplink.workbench.framework.internal.FrameworkApplication.open(FrameworkApplication.java:689)
         at oracle.toplink.workbench.framework.internal.FrameworkNodeManager.openCallback(FrameworkNodeManager.java:341)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run2(RunnableProjectLoader.java:76)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run(RunnableProjectLoader.java:63)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: Wyjątek [TOPLINK-101] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DescriptorException
    Opis wyjątku: Użyta metoda wyzwoliła wyjątek.
    Wyjątek wewnętrzny: java.lang.reflect.InvocationTargetException
    Wyjątek wywołania celu: java.lang.ClassCastException: java.lang.String
    Odwzorowanie: oracle.toplink.mappings.TransformationMapping[legacySecondaryReferenceHandles]
    Deskryptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.descriptor.relational.MWDescriptorMultiTableInfoPolicy --> [DatabaseTable(multi-table-info-policy)])
         at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileInvokingAttributeMethod(DescriptorException.java:1634)
         at oracle.toplink.mappings.transformers.MethodBasedAttributeTransformer.buildAttributeValue(MethodBasedAttributeTransformer.java:114)
         at oracle.toplink.mappings.foundation.AbstractTransformationMapping.invokeAttributeTransformer(AbstractTransformationMapping.java:678)
         at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromMethod(NoIndirectionPolicy.java:252)
         at oracle.toplink.mappings.foundation.AbstractTransformationMapping.readFromRowIntoObject(AbstractTransformationMapping.java:900)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.sdk.SDKAggregateObjectMapping.buildCompositeObject(SDKAggregateObjectMapping.java:56)
         at oracle.toplink.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow(AbstractCompositeObjectMapping.java:155)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1021)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:525)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:381)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:455)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:424)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:811)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:779)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:388)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2073)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:988)
         at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolicy.java:262)
         at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java:1139)
         at oracle.toplink.mappings.OneToOneMapping.valueFromRow(OneToOneMapping.java:1030)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1021)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.sdk.SDKAggregateCollectionMapping.buildCompositeObject(SDKAggregateCollectionMapping.java:62)
         at oracle.toplink.mappings.foundation.AbstractCompositeCollectionMapping.valueFromRow(AbstractCompositeCollectionMapping.java:735)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1021)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:525)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:381)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObjectsInto(ObjectBuilder.java:677)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.buildObjectsFromRows(DatabaseQueryMechanism.java:142)
         at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:483)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:811)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:779)
         at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:451)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2073)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:988)
         at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolicy.java:262)
         at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java:1139)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1021)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:525)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:381)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:455)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:424)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:811)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:779)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:388)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2073)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:988)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:945)
         at oracle.toplink.publicinterface.Session.readObject(Session.java:2575)
         at oracle.toplink.workbench.mappingsio.legacy.PersistenceTools50.readMWProjectNamed(PersistenceTools50.java:322)
         at oracle.toplink.workbench.mappingsio.legacy.LegacyIOFacade.read50Project(LegacyIOFacade.java:14)
         at oracle.toplink.workbench.mappingsio.ProjectReader.readLegacyProject(ProjectReader.java:243)
         at oracle.toplink.workbench.mappingsio.ProjectReader.read(ProjectReader.java:102)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:59)
         at oracle.toplink.workbench.mappingsplugin.MappingsPlugin.open(MappingsPlugin.java:286)
         ... 5 more
    Caused by: java.lang.reflect.InvocationTargetException
         at sun.reflect.GeneratedMethodAccessor231.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at oracle.toplink.internal.security.PrivilegedAccessController.invokeMethod(PrivilegedAccessController.java:501)
         at oracle.toplink.mappings.transformers.MethodBasedAttributeTransformer.buildAttributeValue(MethodBasedAttributeTransformer.java:108)
         ... 65 more
    Caused by: java.lang.ClassCastException: java.lang.String
         at oracle.toplink.workbench.mappingsmodel.descriptor.relational.MWDescriptorMultiTableInfoPolicy.legacy50GetSecondaryReferenceHandlesFromRecordForTopLink(MWDescriptorMultiTableInfoPolicy.java:264)
         ... 70 more

    It doesn't seem like the xml file is corrupted because toplink 9045 processes it successfully.
    Below is the same stack trace but with english descriptions, maybe this will be more helpful.
    oracle.toplink.workbench.framework.OpenException: Exception [TOPLINK-101] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The underlying method triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.ClassCastException: java.lang.String
    Mapping: oracle.toplink.mappings.TransformationMapping[legacySecondaryReferenceHandles]
    Descriptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.descriptor.relational.MWDescriptorMultiTableInfoPolicy --> [DatabaseTable(multi-table-info-policy)])
         at oracle.toplink.workbench.mappingsplugin.MappingsPlugin.open(MappingsPlugin.java:290)
         at oracle.toplink.workbench.framework.internal.FrameworkApplication.open(FrameworkApplication.java:689)
         at oracle.toplink.workbench.framework.internal.FrameworkNodeManager.openCallback(FrameworkNodeManager.java:341)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run2(RunnableProjectLoader.java:76)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run(RunnableProjectLoader.java:63)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: Exception [TOPLINK-101] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The underlying method triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.ClassCastException: java.lang.String
    Mapping: oracle.toplink.mappings.TransformationMapping[legacySecondaryReferenceHandles]
    Descriptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.descriptor.relational.MWDescriptorMultiTableInfoPolicy --> [DatabaseTable(multi-table-info-policy)])
         at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileInvokingAttributeMethod(DescriptorException.java:1634)
         at oracle.toplink.mappings.transformers.MethodBasedAttributeTransformer.buildAttributeValue(MethodBasedAttributeTransformer.java:114)
         at oracle.toplink.mappings.foundation.AbstractTransformationMapping.invokeAttributeTransformer(AbstractTransformationMapping.java:678)
         at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromMethod(NoIndirectionPolicy.java:252)
         at oracle.toplink.mappings.foundation.AbstractTransformationMapping.readFromRowIntoObject(AbstractTransformationMapping.java:900)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.sdk.SDKAggregateObjectMapping.buildCompositeObject(SDKAggregateObjectMapping.java:56)
         at oracle.toplink.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow(AbstractCompositeObjectMapping.java:155)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1021)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:525)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:381)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:455)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:424)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:811)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:779)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:388)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2073)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:988)
         at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolicy.java:262)
         at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java:1139)
         at oracle.toplink.mappings.OneToOneMapping.valueFromRow(OneToOneMapping.java:1030)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1021)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.sdk.SDKAggregateCollectionMapping.buildCompositeObject(SDKAggregateCollectionMapping.java:62)
         at oracle.toplink.mappings.foundation.AbstractCompositeCollectionMapping.valueFromRow(AbstractCompositeCollectionMapping.java:735)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1021)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:525)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:381)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObjectsInto(ObjectBuilder.java:677)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.buildObjectsFromRows(DatabaseQueryMechanism.java:142)
         at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:483)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:811)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:779)
         at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:451)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2073)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:988)
         at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolicy.java:262)
         at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java:1139)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1021)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:244)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:525)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:381)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:455)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:424)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:811)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:779)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:388)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2073)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:988)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:945)
         at oracle.toplink.publicinterface.Session.readObject(Session.java:2575)
         at oracle.toplink.workbench.mappingsio.legacy.PersistenceTools50.readMWProjectNamed(PersistenceTools50.java:322)
         at oracle.toplink.workbench.mappingsio.legacy.LegacyIOFacade.read50Project(LegacyIOFacade.java:14)
         at oracle.toplink.workbench.mappingsio.ProjectReader.readLegacyProject(ProjectReader.java:243)
         at oracle.toplink.workbench.mappingsio.ProjectReader.read(ProjectReader.java:102)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:59)
         at oracle.toplink.workbench.mappingsplugin.MappingsPlugin.open(MappingsPlugin.java:286)
         ... 5 more
    Caused by: java.lang.reflect.InvocationTargetException
         at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at oracle.toplink.internal.security.PrivilegedAccessController.invokeMethod(PrivilegedAccessController.java:501)
         at oracle.toplink.mappings.transformers.MethodBasedAttributeTransformer.buildAttributeValue(MethodBasedAttributeTransformer.java:108)
         ... 65 more
    Caused by: java.lang.ClassCastException: java.lang.String
         at oracle.toplink.workbench.mappingsmodel.descriptor.relational.MWDescriptorMultiTableInfoPolicy.legacy50GetSecondaryReferenceHandlesFromRecordForTopLink(MWDescriptorMultiTableInfoPolicy.java:264)
         ... 70 more

  • Toplink Workbench Exceptions …….

    When I tried to open a Toplink project (project.mwp) generated by Toplink 9.0.3 in the newer version 9.0.4, I got the following errors during the conversion process. What should I do to correct this issue? Many thanks for the help.
    Throwable Class Name:
    oracle.toplink.exceptions.DescriptorException
    Message:
    Exception Description: The method [isStub] on the object [oracle.toplink.workbench.model.meta.MWClass] triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Mapping: oracle.toplink.mappings.DirectToFieldMapping[stub-->class.stub]
    Descriptor: XMLDescriptor(oracle.toplink.workbench.model.meta.MWClass --> [DatabaseTable(class)])
    Stack trace:
    Local Exception Stack:
    Exception [TOPLINK-99] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The method [isStub] on the object [oracle.toplink.workbench.model.meta.MWClass] triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Mapping: oracle.toplink.mappings.DirectToFieldMapping[stub-->class.stub]
    Descriptor: XMLDescriptor(oracle.toplink.workbench.model.meta.MWClass --> [DatabaseTable(class)])
         at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileGettingValueThruMethodAccessor(DescriptorException.java:1371)
         at oracle.toplink.internal.descriptors.MethodAttributeAccessor.getAttributeValueFromObject(MethodAttributeAccessor.java:47)
         at oracle.toplink.mappings.DatabaseMapping.getAttributeValueFromObject(DatabaseMapping.java:304)
         at oracle.toplink.mappings.DirectToFieldMapping.buildClone(DirectToFieldMapping.java:61)
         at oracle.toplink.internal.descriptors.ObjectBuilder.populateAttributesForClone(ObjectBuilder.java:1493)
         at oracle.toplink.publicinterface.UnitOfWork.cloneAndRegisterNewObject(UnitOfWork.java:580)
         at oracle.toplink.publicinterface.UnitOfWork.internalRegisterObject(UnitOfWork.java:2261)
         at oracle.toplink.publicinterface.UnitOfWork.registerObject(UnitOfWork.java:3093)
         at oracle.toplink.mappings.CollectionMapping.buildElementClone(CollectionMapping.java:148)
         at oracle.toplink.mappings.CollectionMapping.buildCloneForPartObject(CollectionMapping.java:107)
         at oracle.toplink.internal.indirection.NoIndirectionPolicy.cloneAttribute(NoIndirectionPolicy.java:43)
         at oracle.toplink.mappings.ForeignReferenceMapping.buildClone(ForeignReferenceMapping.java:160)
         at oracle.toplink.internal.descriptors.ObjectBuilder.populateAttributesForClone(ObjectBuilder.java:1493)
         at oracle.toplink.mappings.AggregateMapping.buildClonePart(AggregateMapping.java:132)
         at oracle.toplink.mappings.AggregateMapping.buildClone(AggregateMapping.java:110)
         at oracle.toplink.internal.descriptors.ObjectBuilder.populateAttributesForClone(ObjectBuilder.java:1493)
         at oracle.toplink.publicinterface.UnitOfWork.cloneAndRegisterNewObject(UnitOfWork.java:580)
         at oracle.toplink.publicinterface.UnitOfWork.internalRegisterObject(UnitOfWork.java:2261)
         at oracle.toplink.publicinterface.UnitOfWork.registerObject(UnitOfWork.java:3093)
         at oracle.toplink.workbench.ui.WorkbenchSession.registerProject(WorkbenchSession.java:551)
         at oracle.toplink.workbench.ui.WorkbenchSession.addProject(WorkbenchSession.java:151)
         at oracle.toplink.workbench.ui.WorkbenchSession.addNewProject(WorkbenchSession.java:138)
         at oracle.toplink.workbench.ui.MainView.addNewProject(MainView.java:265)
         at oracle.toplink.workbench.filesystem.MWFileFactory.openImp(MWFileFactory.java:206)
         at oracle.toplink.workbench.filesystem.MWFileFactory.open(MWFileFactory.java:158)
         at oracle.toplink.tsceditor.persistence.PersistenceManager.open(PersistenceManager.java:747)
         at oracle.toplink.tsceditor.ui.persistence.DefaultUIPersistence.open(DefaultUIPersistence.java:181)
         at oracle.toplink.tsceditor.ui.persistence.UIPersistenceManager.open(UIPersistenceManager.java:625)
         at oracle.toplink.tsceditor.ui.persistence.UIPersistenceManager$OpenFile.execute(UIPersistenceManager.java:1095)
         at oracle.toplink.tsceditor.utility.Thread.run(Thread.java:114)
    Caused by: java.lang.reflect.InvocationTargetException
         at sun.reflect.GeneratedMethodAccessor107.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at oracle.toplink.internal.descriptors.MethodAttributeAccessor.getAttributeValueFromObject(MethodAttributeAccessor.java:40)
         ... 28 more
    Caused by: java.lang.NullPointerException
         at oracle.toplink.workbench.model.meta.MWClass.superclassIsDefaultValue(MWClass.java:1275)
         at oracle.toplink.workbench.model.meta.MWClass.isStub(MWClass.java:1236)
         ... 32 more

    oracle.toplink.workbench.framework.OpenException: Exception [TOPLINK-98] (Oracle TopLink - 10g Developer Preview 3 (10.1.3.0 ) (Build 041012)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The underlying descriptor callback method [legacy45PostBuild], with parameter (DescriptorEvent), triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Descriptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.project.relational.MWRelationalProject --> [DatabaseTable(BldrProject)])
         at oracle.toplink.workbench.mappingsplugin.MWPlugin.open(MWPlugin.java:262)
         at oracle.toplink.workbench.framework.internal.FrameworkApplication.open(FrameworkApplication.java:605)
         at oracle.toplink.workbench.framework.internal.FrameworkNodeManager.openCallback(FrameworkNodeManager.java:325)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run2(RunnableProjectLoader.java:81)
         at oracle.toplink.workbench.framework.internal.RunnableProjectLoader.run(RunnableProjectLoader.java:68)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: Exception [TOPLINK-98] (Oracle TopLink - 10g Developer Preview 3 (10.1.3.0 ) (Build 041012)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The underlying descriptor callback method [legacy45PostBuild], with parameter (DescriptorEvent), triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Descriptor: XMLDescriptor(oracle.toplink.workbench.mappingsmodel.project.relational.MWRelationalProject --> [DatabaseTable(BldrProject)])
         at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileEventExecution(DescriptorException.java:1598)
         at oracle.toplink.publicinterface.DescriptorEventManager.executeEvent(DescriptorEventManager.java:177)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:256)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:504)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:372)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:408)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:372)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:727)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:559)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:336)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1977)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:973)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:930)
         at oracle.toplink.publicinterface.Session.readObject(Session.java:2429)
         at oracle.toplink.workbench.mappingsio.legacy.PersistenceTools45.readMWProjectNamed(PersistenceTools45.java:230)
         at oracle.toplink.workbench.mappingsio.legacy.LegacyIOFacade.read45Project(LegacyIOFacade.java:18)
         at oracle.toplink.workbench.mappingsio.ProjectReader.readPreviousVersion(ProjectReader.java:97)
         at oracle.toplink.workbench.mappingsio.ProjectReader.read(ProjectReader.java:85)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:48)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:44)
         at oracle.toplink.workbench.mappingsplugin.MWPlugin.open(MWPlugin.java:260)
         ... 5 more
    Caused by: java.lang.reflect.InvocationTargetException
         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:324)
         at oracle.toplink.internal.security.PrivilegedAccessController.invokeMethod(PrivilegedAccessController.java:416)
         at oracle.toplink.publicinterface.DescriptorEventManager.executeEvent(DescriptorEventManager.java:170)
         ... 24 more
    Caused by: java.lang.NullPointerException
         at oracle.toplink.workbench.mappingsmodel.desc.relational.MWRelationalPrimaryKeyPolicy.nodeRemoved(MWRelationalPrimaryKeyPolicy.java:185)
         at oracle.toplink.workbench.utility.node.AbstractNodeModel.nodeRemoved(AbstractNodeModel.java:288)
         at oracle.toplink.workbench.utility.node.AbstractNodeModel.nodeRemoved(AbstractNodeModel.java:288)
         at oracle.toplink.workbench.mappingsmodel.desc.MWMappingDescriptor.nodeRemoved(MWMappingDescriptor.java:1174)
         at oracle.toplink.workbench.mappingsmodel.desc.relational.MWTableDescriptor.nodeRemoved(MWTableDescriptor.java:1054)
         at oracle.toplink.workbench.utility.node.AbstractNodeModel.nodeRemoved(AbstractNodeModel.java:288)
         at oracle.toplink.workbench.mappingsmodel.MWModel.removeNodeFromCollection(MWModel.java:152)
         at oracle.toplink.workbench.mappingsmodel.meta.MWClass.removeAttribute(MWClass.java:960)
         at oracle.toplink.workbench.mappingsmodel.meta.MWClass.removeAttributes(MWClass.java:969)
         at oracle.toplink.workbench.mappingsmodel.meta.MWClass.removeAttributes(MWClass.java:964)
         at oracle.toplink.workbench.mappingsmodel.meta.MWClass.clearAttributes(MWClass.java:974)
         at oracle.toplink.workbench.mappingsmodel.meta.MWClass.legacyXXReworkCoreType(MWClass.java:3108)
         at oracle.toplink.workbench.mappingsmodel.meta.MWClass.legacy45PostPostProjectBuild(MWClass.java:3084)
         at oracle.toplink.workbench.mappingsmodel.MWModel.legacy45PostPostProjectBuild(MWModel.java:575)
         at oracle.toplink.workbench.mappingsmodel.meta.MWClassRepository.legacy45PostPostProjectBuild(MWClassRepository.java:1271)
         at oracle.toplink.workbench.mappingsmodel.MWModel.legacy45PostPostProjectBuild(MWModel.java:575)
         at oracle.toplink.workbench.mappingsmodel.project.MWProject.legacy45PostBuild(MWProject.java:1233)
         at oracle.toplink.workbench.mappingsmodel.project.relational.MWRelationalProject.legacy45PostBuild(MWRelationalProject.java:651)
         ... 30 more

  • 10g: Must all related tables be in the same project?

    Since we will eventaully have over 500 tables to map, we would like to be able to maintain these tables/classes in different projects. How do we map foreign key references between tables/classes that we would like to maintain in different projects?
    I don't know if theis is why I'm getting this error, but I initially created two projects with independent tables. Then I wanted to join some tables in one project to some tables in another project. (This is all using Offline Database Objects.) I dropped some tables managed in project A into the diagram for project B and created the foreign key relations (from B to A.) Now whenever I try to open the TopLink Mappings node for project B in the Navigator, I get the following error. I get this error even if I drop ALL the tables from project A into project B's diagram (meaning there is nothing left in the schema that could be the missing 'parent'.)
    Local Exception Stack:
    Exception [TOPLINK-98] (Oracle9iAS TopLink - Release 2 (9.0.4.0) (Build 030612)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The underlying descriptor callback method [postBuild], with parameter (DescriptorEvent), triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.IllegalStateException: This object is missing a parent: MWTable[C14] (AVEGA.DATAMART)
    Descriptor: XMLDescriptor(oracle.toplink.workbench.model.MWProject --> [DatabaseTable(project)])
         at oracle.toplink.exceptions.DescriptorException.<init>(DescriptorException.java:207)
         at oracle.toplink.exceptions.DescriptorException.<init>(DescriptorException.java:212)
         at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileEventExecution(DescriptorException.java:1364)
         at oracle.toplink.publicinterface.DescriptorEventManager.executeEvent(DescriptorEventManager.java:133)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:179)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:331)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:227)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:344)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:498)
         at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java:111)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1968)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1096)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1048)
         at oracle.toplink.publicinterface.Session.readObject(Session.java:2502)
         at oracle.toplink.workbench.ui.WorkbenchSession.getMWProjectNamed(WorkbenchSession.java:270)
         at oracle.toplink.addin.persistence.MWJDeveloperPersistence.open(MWJDeveloperPersistence.java:176)
         at oracle.toplink.tsceditor.persistence.PersistenceManager.open(PersistenceManager.java:942)
         at oracle.toplink.addin.manager.MWJDeveloperMediator.openMWProject(MWJDeveloperMediator.java:164)
         at oracle.toplink.addin.manager.MWJDeveloperMediator.locateAndOpenProjectImp(MWJDeveloperMediator.java:626)
         at oracle.toplink.addin.manager.MWJDeveloperMediator.getEditableObjectFor(MWJDeveloperMediator.java:430)
         at oracle.toplink.addin.ui.view.explorer.MWExplorer.updateExplorer(MWExplorer.java:586)
         at oracle.toplink.addin.ui.view.explorer.MWExplorer.setContext(MWExplorer.java:458)
         at oracle.ideimpl.explorer.ExplorerManagerImpl.getExplorerForHost(ExplorerManagerImpl.java:1048)
         at oracle.ideimpl.explorer.ExplorerWindowImpl.viewSelectionChanged(ExplorerWindowImpl.java:544)
         at oracle.ide.addin.AbstractPinnable.viewSelectionChanged(AbstractPinnable.java:232)
         at oracle.ideimpl.explorer.ExplorerWindowImpl.viewSelectionChanged(ExplorerWindowImpl.java:376)
    ... etc.

    If you wish to split your project up into two projects and have some relationships between some of those objects in the projects, you could map all of the objects for each project, but do not map the relationships. For those classes with relationships to other classes in other project you can define an amendment method. An amendment method is a callback into Java code that will be called when the descriptor is loaded. In this method you can then create the mapping to the class in the other project through the descriptor and mapping code API. (see oracle.toplink.mappings, oracle.toplink.publicinterface.Descriptor)
    You can also make use of descriptor deactivation to define relationships between projects. For this you would import the related classes into the project and deactivate them. This will allow you to define relationships to them, but will not export their mapping information when deploying.
    In general it is probably easier to keep everything in one project and use your content/code management system and merge tools to manage the project.

  • JDev 9.0.5.2 Error When Opening TopLink Mapping Project

    I was in the middle of mapping my classes and realized that I needed some more attributes. So I added the attributes to my classes, closed the IDE (since this is generally the only way to get the TopLink Mapping Project to notice the changes), and now, when I reopen the IDE, I get the following:
    Exception [TOPLINK-98] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The underlying descriptor callback method [postBuild], with parameter (DescriptorEvent), triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Descriptor: XMLDescriptor(oracle.toplink.workbench.model.MWProject --> [DatabaseTable(project)])
            at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileEventExecution(DescriptorException.java:1364)
            at oracle.toplink.publicinterface.DescriptorEventManager.executeEvent(DescriptorEventManager.java:133)
            at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:179)
            at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:331)
            at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:226)
            at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:344)
            at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:498)
            at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java:111)
            at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1968)
            at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1096)
            at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1048)
            at oracle.toplink.publicinterface.Session.readObject(Session.java:2502)
            at oracle.toplink.workbench.ui.WorkbenchSession.getMWProjectNamed(WorkbenchSession.java:270)
            at oracle.toplink.addin.persistence.MWJDeveloperPersistence.open(MWJDeveloperPersistence.java:200)
            at oracle.toplink.tsceditor.persistence.PersistenceManager.open(PersistenceManager.java:942)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.openMWProject(MWJDeveloperMediator.java:167)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.locateAndOpenProjectImp(MWJDeveloperMediator.java:691)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.locateAndOpenProject(MWJDeveloperMediator.java:665)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.getMWProjectAndOpenIfNecessary(MWJDeveloperMediator.java:1098)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.getMWProjectAndOpenIfNecessary(MWJDeveloperMediator.java:1070)
            at oracle.toplink.addin.appnav.JProjectObserver.handleObjectOpened(JProjectObserver.java:115)
            at oracle.toplink.addin.appnav.JProjectObserver.update(JProjectObserver.java:65)
            at oracle.ide.IdeSubject.notifyObservers(IdeSubject.java:215)
            at oracle.ide.model.DefaultDocument.notifyObservers(DefaultDocument.java:273)
            at oracle.ide.addin.UpdateMessage.fireObjectOpened(UpdateMessage.java:543)
            at oracle.ide.model.DataNode.fireObjectOpened(DataNode.java:191)
            at oracle.ide.model.DataNode$1.run(DataNode.java:168)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Caused by: java.lang.reflect.InvocationTargetException
            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:324)
            at oracle.toplink.publicinterface.DescriptorEventManager.executeEvent(DescriptorEventManager.java:125)
            ... 32 more
    Caused by: java.lang.NullPointerException
            at oracle.toplink.workbench.model.desc.MWMappingDescriptor.classHierarchyChangedFor(MWMappingDescriptor.java:758)
            at oracle.toplink.workbench.model.MWProject.classHierarchyChangedFor(MWProject.java:1086)
            at oracle.toplink.workbench.model.meta.MWClass.setSuperclass(MWClass.java:877)
            at oracle.toplink.workbench.model.meta.MWClass.setInterface(MWClass.java:837)
            at oracle.toplink.workbench.model.meta.MWClass.resetStubInterface(MWClass.java:2398)
            at oracle.toplink.workbench.model.meta.MWClass.resetStubInterfaces(MWClass.java:2386)
            at oracle.toplink.workbench.model.meta.MWClassRepository.resetStubInterfaces(MWClassRepository.java:1385)
            at oracle.toplink.workbench.model.meta.MWClassRepository.postProjectBuild(MWClassRepository.java:1380)
            at oracle.toplink.workbench.model.MWModelObject.postProjectBuild(MWModelObject.java:522)
            at oracle.toplink.workbench.model.MWProject.postBuild(MWProject.java:1646)
            ... 37 moreIn the IDE I get a much shorter version of the excpetion, the above is what I see on the commandline from which the IDE was launched.
    I can no longer work on my mappings project at all.

    John,
    You mentioned "I closed the IDE so that the TopLink project would pick up the changes..."
    1. We need to find out why you needed to close the IDE? Was TopLink mapping editor not picking up your changes?
    2. I am sure you did not modified .java outside of Jdev, but in case if you did, let me know.
    3. After removing a superclass attribute, did you save all changes?
    4. We tried various combinations, but were unable to reproduce the project reopen issue that you mentioned was fixed by changing the ClassDescriptor.xml. It would be extremely helpful if you could either send us (anuj dot k dot jain at oracle dot com) a project that can reproduce this issue, or outline the exact steps.

  • Toplink + Websphere : java.sql.SQLException: DSRA9420E:

    Hello,
    I 'm getting this exception on a Websphere environment using Toplink to access data base. I'm getting the connection from the database using a data source configured in the application server.
    Any help is welcome ...
    java.sql.SQLException: DSRA9420E: Connection cannot be reassociated because child objects are still open., error code: CHILDREN_STILL_OPEN
    Caused by: java.sql.SQLException: DSRA9420E: Connection cannot be reassociated because child objects are still open., error code: CHILDREN_STILL_OPEN
         at com.ibm.ws.rsadapter.AdapterUtil.toSQLException(AdapterUtil.java(Compiled Code))
         at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.reactivate(WSJdbcConnection.java(Compiled Code))
         at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java(Compiled Code))
         at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java(Compiled Code))
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java(Compiled Code))
         at oracle.toplink.queryframework.SQLCall.prepareStatement(SQLCall.java(Compiled Code))
         ... 60 more
    Caused by: com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException: DSRA9420E: Connection cannot be reassociated because child objects are still open., error code: CHILDREN_STILL_OPEN
         at com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java(Compiled Code))
         at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.reassociate(WSJdbcConnection.java(Compiled Code))
         at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.associateConnection(WSRdbManagedConnectionImpl.java(Compiled Code))
         at com.ibm.ejs.j2c.MCWrapper.associateConnection(MCWrapper.java(Compiled Code))
         at com.ibm.ejs.j2c.ConnectionManager.reassociateConnectionHandle(ConnectionManager.java(Compiled Code))
         at com.ibm.ejs.j2c.ConnectionManager.associateConnection(ConnectionManager.java(Compiled Code))
         at com.ibm.ejs.j2c.ConnectionManager.associateConnection(ConnectionManager.java(Compiled Code))

    you mean the WAS configuration for the data source ?
    toplink is configured so as to use the WAS datasource, and use external pooling.
    here is the complete stack trace :
    Caused by: Exception [TOPLINK-4002] (OracleAS TopLink - 10g (9.0.4.9) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Description de l'exception : java.sql.SQLException: DSRA9420E: Connection cannot be reassociated because child objects are still open., error code: CHILDREN_STILL_OPEN
    Exception interne : java.sql.SQLException: DSRA9420E: Connection cannot be reassociated because child objects are still open., error code: CHILDREN_STILL_OPEN
    Code d'erreur : 0
         at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java(Compiled Code))
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java(Compiled Code))
         at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java(Compiled Code))
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java(Compiled Code))
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java(Inlined Compiled Code))
         at oracle.toplink.internal.queryframework.CallQueryMechanism.selectOneRow(CallQueryMechanism.java(Compiled Code))
         at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectOneRowFromTable(ExpressionQueryMechanism.java(Inlined Compiled Code))
         at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectOneRow(ExpressionQueryMechanism.java(Compiled Code))
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java(Compiled Code))
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java(Compiled Code))
         at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java(Compiled Code))
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java(Inlined Compiled Code))
         at oracle.toplink.threetier.ServerSession.internalExecuteQuery(ServerSession.java(Inlined Compiled Code))
         at oracle.toplink.threetier.ClientSession.internalExecuteQuery(ClientSession.java(Compiled Code))
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java(Compiled Code))
         at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java(Compiled Code))
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java(Compiled Code))
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java(Inlined Compiled Code))
         at oracle.toplink.publicinterface.Session.readObject(Session.java(Compiled Code))
         ... 25 more
    Caused by: java.sql.SQLException: DSRA9420E: Connection cannot be reassociated because child objects are still open., error code: CHILDREN_STILL_OPEN
         at com.ibm.ws.rsadapter.AdapterUtil.toSQLException(AdapterUtil.java(Compiled Code))
         at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.reactivate(WSJdbcConnection.java(Compiled Code))
         at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java(Compiled Code))
         at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java(Compiled Code))
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java(Compiled Code))
         at oracle.toplink.queryframework.SQLCall.prepareStatement(SQLCall.java(Compiled Code))
         ... 45 more
    Caused by: com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException: DSRA9420E: Connection cannot be reassociated because child objects are still open., error code: CHILDREN_STILL_OPEN
         at com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java(Compiled Code))
         at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.reassociate(WSJdbcConnection.java(Compiled Code))
         at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.associateConnection(WSRdbManagedConnectionImpl.java(Compiled Code))
         at com.ibm.ejs.j2c.MCWrapper.associateConnection(MCWrapper.java(Compiled Code))
         at com.ibm.ejs.j2c.ConnectionManager.reassociateConnectionHandle(ConnectionManager.java(Compiled Code))
         at com.ibm.ejs.j2c.ConnectionManager.associateConnection(ConnectionManager.java(Compiled Code))
         at com.ibm.ejs.j2c.ConnectionManager.associateConnection(ConnectionManager.java(Compiled Code))
         ... 50 more

  • EXCEPTION [TOPLINK-116]

    Can anybody help me with the following error, what does it mean:
    2007-07-12 16:45:45,813 [ContentScheduler_Worker-2] ERROR (com.jcatalog.scheduling.quartz.Executer) - Unexpected error during execution of Job
    LOCAL EXCEPTION STACK:
    EXCEPTION [TOPLINK-116] (v2.5.1 GA May 11 2000): TOPLink.Public.Exceptions.DescriptorException
    EXCEPTION DESCRIPTION: No conversion value provided for the field ' '
    at TOPLink.Public.Exceptions.DescriptorException.noFieldValueConversionToAttributeValueProvided(DescriptorException.java:735)
    at TOPLink.Public.Mappings.ObjectTypeMapping.getAttributeValue(ObjectTypeMapping.java:96)
    at TOPLink.Public.Mappings.DirectToFieldMapping.valueFromRow(DirectToFieldMapping.java:327)
    at TOPLink.Public.Mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:721)
    at TOPLink.Private.Descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:195)
    at TOPLink.Private.Descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:295)
    at TOPLink.Public.QueryFramework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:170)
    at TOPLink.Public.QueryFramework.ReadObjectQuery.execute(ReadObjectQuery.java:267)
    at TOPLink.Public.QueryFramework.DatabaseQuery.execute(DatabaseQuery.java:363)
    at TOPLink.Public.QueryFramework.ReadQuery.execute(ReadQuery.java:95)
    at TOPLink.Public.PublicInterface.Session.internalExecuteQuery(Session.java:1342)
    at TOPLink.Public.ThreeTier.ServerSession.internalExecuteQuery(ServerSession.java:441)
    at TOPLink.Public.ThreeTier.ClientSession.internalExecuteQuery(ClientSession.java:255)
    at TOPLink.Public.PublicInterface.Session.executeQuery(Session.java:828)
    at TOPLink.Public.PublicInterface.Session.executeQuery(Session.java:785)
    at TOPLink.Public.PublicInterface.Session.readObject(Session.java:1694)
    at com.jcatalog.toplinkmapping.ObjProperty.findByPrimaryKey(ObjProperty.java:144)
    at com.jcatalog.rbe.customized.RBECustomExaminations.leverstatusFrsNo(RBECustomExaminations.java:2492)
    at com.jcatalog.rbe.customized.RBECustomExaminations.execute(RBECustomExaminations.java:391)
    at com.jcatalog.rbe.customized.RBECustomRuleExecutor.execute(RBECustomRuleExecutor.java:185)
    at com.jcatalog.rbe.RBERuleExecutor.execute(RBERuleExecutor.java:1815)
    at com.jcatalog.rbe.RBEJobWorker.execute(RBEJobWorker.java:54)
    at com.jcatalog.scheduling.quartz.Executer.execute(Executer.java:43)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:178)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:487)

    You have setup an Object Type Mapping or a direct to field mapping with an object-type converter. In this converter you specify a map of database to object values. At runtime your application is finding a value, empty string, which is not supported by your conversion map.
    Doug

  • Question about queries

    I am using several ways to build queries :
    mySession.readObject
    mySession.readAllObjects
    mySession.executeQuery
    and classes ReadObjectQuery, readAllQuery and readQuery
    What are the differences between all this classes and methods ???
    I also used queries "after load". How can i configure the
    cache to optimize these queries without using the workbench ??
    Is it recommended to use queries "after load" ??
    How can i optimize queries (for the cache) ?
    Thanks

    The session.readObject and session.readAllObjects are simply helper methods that actually instantiate the appropriate query object (ReadObjectQuery or ReadAllQuery) and execute them using session.executeQuery. They all end up doing the same thing. Using the query objects will give you far more flexibility to tune the query's execution for performance and cache usage.
    I would recommend using the after-load approach to configuring all static parameratized queries and registering them by name with the descriptor's query manager. You can then execute them in the application using sessions.executeQuery("query name", MyClass.class, ...). This will allow you to isolate the queries so they can be more easily managed and tuned.
    Doug

  • Attetion Darren Melanson Unit Of Work

    Hello,
    Again sorry about my english.
    I read in one article published in otn.com about Unit Of Work the next example:
    UnitOfWork uow = session.acquireUnitOfWork();
    PetOwner existingPetOwnerClone =
    (PetOwner)uow.readObject(PetOwner.class);
    Pet newPet = new Pet();
    Pet newPetClone = (Pet)uow.registerObject(newPet);
    newPetClone.setId(900);
    newPetClone.setType("Lizzard");
    newPetClone.setName("Larry");
    newPetClone.setPetOwner(existingPetOwnerClone);
    uow.commit();
    my question is: If I don't modify petOwner, why these example read this object throught up ouw, Is really necesary read it throught up uow???
    Or Can I read petOwner with ReadObjectQuery, and the rest of the work do it with uow. for example:
    PetOwner petOwner = (PetOwner)session.readObject(PetOwner.class);
    UnitOfWork uow = session.acquireUnitOfWork();
    Pet newPet = new Pet();
    Pet newPetClone = (Pet)uow.registerObject(newPet);
    newPetClone.setId(900);
    newPetClone.setType("Lizzard");
    newPetClone.setName("Larry");
    newPetClone.setPetOwner(PetOwner);
    uow.commit();
    Is same?? Is good this manner??

    To make your code work you would need to tell the UnitOfWork that the PetOwner is read only.
    PetOwner petOwner = (PetOwner)session.readObject(PetOwner.class);
    UnitOfWork uow = session.acquireUnitOfWork();
    // *** Add PetOwner class as read-only.
    uow.addReadOnlyClass(PetOwner.class);
    Pet newPet = new Pet();
    Pet newPetClone = (Pet)uow.registerObject(newPet);
    newPetClone.setId(900);
    newPetClone.setType("Lizzard");
    newPetClone.setName("Larry");
    newPetClone.setPetOwner(PetOwner);
    uow.commit();

Maybe you are looking for

  • Tab delimited file as target

    I am using OWB to read data from a bunch of oracle tables and putting the results in a flat file. I've defined is as a tab delimited file and everything works fine except for one thing. What I need is to include double quotes for only those fields th

  • Repairing permissions

    hi i just upgraded to tiger, about a week ago. and i have a little bit of a problem,or i hope its not a problem. everything seems fine with repair permissions, but i noticed when i used macaroni the other day that i had the message ./users/shared/sc

  • Sample Size Calculation in Quality Management

    Dear QM Experts, We are facing an issue in sample size calculation when the Inspection Lot Quantity is less than 1 Kg Lets Say for Ex: 0.5 Kg. We are using MICs inside the Plan with suitable Sampling Procedure. The Sampling Procedure has the Followin

  • Vendor Full Name on Check Register report

    Hi Was anybody successful to put instead the Vendor Code the Vendor Name on the Check Register Report. Vendor Code Variable is 107 - is there a veriable for Vendor Name?\ Thanks

  • Can I REMOVE iWeb from my System?

    I recently upgraded to iLife '08. I am losing disk space and I would like to totally remove iWeb since I don't have a .Mac account and have no need for iWeb. 1) Can I do that? 2) How do I do that? Thank you for your help.