Toplink UpdateAllQuery Issue

We're experiencing some problems with an UpdateAllQuery when trying to update some fields belonging to an aggregate mapping within the component we're trying to update.
We want to set these fields to NULL.
One of the fields in the Aggregate mapping is a OneToOne mapping lookup type component. We want to set this field to NULL. (In a nutshell we want to set the FK to this lookup type object to NULL).
In order to accomplish this, we have created a DirectQueryKey for the OneToOne mapping inside of the Aggregate mapping and then physically mapped it within the Component that makes use of the Aggregate mapping.
It appears that this DirectQueryKey is not working properly. Even when we create a ReadAllQuery and use the same selection criteria, TopLink complains with a TOPLINK 6015 "Invalid QueryKey [businessFuncId] in expression" exception when trying to execute the query.
We have checked to make sure the QueryKey name in our TopLink mapping matches the name used in the query definition... we're stumped... can someone review and provide some clues as to what we may be doing wrong.
Here is the UpdateAllQuery definition:
UpdateAllQuery updateQuery = new UpdateAllQuery(RegisterImpl.class);
updateQuery.setCacheUsage(UpdateAllQuery.INVALIDATE_CACHE);
ExpressionBuilder registerBuilder = updateQuery.getExpressionBuilder();
updateQuery.addArgument("userId");
updateQuery.addArgument("channel");
updateQuery.addArgument("token");
updateQuery.addArgument("date");
updateQuery.addArgument("businessFuncId");
Expression reservedDetailReg = registerBuilder.get("reservedDetail");
Expression userIdExp = reservedDetailReg.get("userId").equal(
registerBuilder.getParameter("userId"));
Expression channelExp = reservedDetailReg.get("channel").equal(
registerBuilder.getParameter("channel"));
Expression tokenExp = reservedDetailReg.get("token").equal(
registerBuilder.getParameter("token"));
Expression dateExp = reservedDetailReg.get("date").equal(
registerBuilder.getParameter("date"));
Expression busFuncExp = reservedDetailReg.get("businessFuncId").equal(
registerBuilder.getParameter("businessFuncId"));
updateQuery.setSelectionCriteria(userIdExp.and(channelExp.and(tokenExp.and(dateExp
.and(busFuncExp)))));
updateQuery.addUpdate(reservedDetailReg.get("userId"), "");
updateQuery.addUpdate(reservedDetailReg.get("channel"), "");
updateQuery.addUpdate(reservedDetailReg.get("token"), "");
updateQuery.addUpdate(reservedDetailReg.get("date"), "");
updateQuery.addUpdate(reservedDetailReg.get("businessFuncId"), "");
descriptor.getQueryManager().addQuery(QueryConstants.UNFREEZE_REGISTER_BY_RESERVED_DETAIL,
updateQuery);
Thanks in advance.

In answer to your posted questions:
1) Are you mapping a query key for the lookup object(between an attribute of the object and a field of the table) or are you adding a query key for the relationship mapping?
Answer: We are mapping a DirectQueryKey (see "businessFuncId" above) to a field on the table directly related to the component being updated. However, the query key represents the foreign key (primary key) for a OneToOne mapping contained within an aggregate descriptor.
Here's an explanation of the OR mapping/object relationship (reference the query definition in the original posting for more details):
RegisterImpl (target of updateAllQuery) contains a ReservedDetail (Aggregate mapping) which in turn contains a OneToOne mapping to a BusinessFunction (read-only lookup type object).
We created a DirectQueryKey: businessFuncId which represents the FK on the RegisterImpl table that is used within the ReservedDetail aggregate mapping for the OneToOne mapping to the BusinessFunction component.
This query key is for query purposes only. As you can see from the query definition it is used to avoid a join with a BusinessFunction table. This is because, as we understand it, an UpdateAllQuery can only update ONE target component (table). The problem we're having is: how do you set a OneToOne FK reference field on the target component to NULL???
2) To which descriptor are you adding the query key?
Answer: The query key ("businessFuncId") must be, by convention, defined within the ReservedDetail aggregate mapping. When we map the ReservedDetail aggregate mapping within the RegisterImpl component mapping, we map the query key to the businessFunction FK field contained with the RegisterImpl table, (the target table we're trying to update).

Similar Messages

  • TopLink Map issue

    Hi all
    i m very new to ADF ...
    while creating one toplink i selected emp as my table .it asks for toplinkmap in the wizard so i created new and it took some value by default.
    now when i rebuild this project it gives following error
    TopLink Map 'tlMap1' -> One of the packages is incomplete.
    Package dataprj -> One of the descriptors in this package is incomplete.
    Descriptor Emp -> No primary keys specified in APPS.EMP table.
    End TopLink Map 'tlMap1'
    pls help me out to fix this issue.

    hi user530923
    Maybe you should look for the "EMP" node in the "Offline Database Sources" node of your JDeveloper project (using the Applications Navigator in JDeveloper).
    If you right-click that "EMP" node, you can select "Properties...". The Edit Offline Table dialog should show. Select "Primary Key Information" on the left. Has a primary key been defined?
    You could also check "Decriptor Info" tab for your "Emp" descriptor. Select "Application Sources" > "TopLink" > "tlMap1" in your JDeveloper project, in the Structure pane double-click the "Emp" descriptor and check "Primary Keys" on the "Decriptor Info" tab.
    success
    Jan Vervecken

  • DbAdapter / Toplink Performance issues

    I'm using the DbAdabpter / Toplink to fetch a sizable dataset (500 - 30,000) row for later emission to a file. The fetch of this data via the DbAdapter / Toplink seems to works reasonably well (albeit quite slow) for datasets between 500-7,000 rows. If I attempt to read a larger dataset, the DbAdapter invocation simply times out. I've tweaked the following configuration options suspecting they might help with the long running invoke the DbAdapter partner link:
    * created an on alarm branch and allowed for 15 minutes for the dataset to be returned.
    * increased the syncMaxWaitTime attribute to 15 minutes.
    * Configured the BPEL OC4J instance to use 2048MB for the JVM heap.
    I've tested the query being used by the DbAdapter via SQL navigator and it returns the data sub-second. I'm suspecting the performance issue is related to the DbAdapter / Toplink rendering the thousands of rows into an XML DOM representation. Might this be the case?
    To help further my hypothesis, I'd like to enable the Toplink profiler. I've found a document in the Oracle doc library that suggests it can be enabled with the following directive, "logProfile" (http://www.oracle.com/technology/products/ias/toplink/doc/1013/MAIN/_html/optimiz003.htm#BEEBCBJF). Any idea where I'd specify this directive? Perhaps somewhere in the toplink_mappings.xml file?
    I could be completely off base and the performance issue could be attributed to some other aspect of my BPEL process. Has anyone else encountered this sort of behavior when working with DbAdapters that return thousands of rows?
    Thanks,
    Peter

    Hi Peter,
    if you are still experiencing the timeout problem you may want to alter the transaction config timout setting in the server.xml file. The tuning guide indicates to change the one file but we have changed it in two locations.
    j2ee/OC4J_BPEL/config (to 700000) and integration/orabpel/system/appserver/oc4j/j2ee/home/config/ (600000) we have previously found that the sync_max_wait_time in the console needs to be set at a value lower than the settings in the above files (540 secs).
    For the performance have you captured the sql from the island log that BPEL is actually running (colaxa.cube.ws logging to debug), is it from a single table or from multiple. We managed to improve the perfromance by setting the use-joining in the toplink-mappings file, but then ended up creating a view in the source system to limit the queries being executed. I am not sure about BPEL's capacity to handle large payloads but it would be interesting to know.
    Ashley

  • Toplink Caching issue

    I have three Entities say C1 , P1 and card. Relation between these
    entities are like this
    P1 to Card ( one - one mapping )
    C1 to Card ( one - many mapping )
    I have three usecases. Usecase 1 uses the mail Entity C1. It will
    create one record using C1. ( keep in mind that there will not be any data for entity card at that time ).
    Second usecase , Usecase 2 , uses Entity P1 and creates data in P1 as
    well as Card.
    Third usecase will again take C1 and try to get the card data which
    were inserted through P1.
    But unfortunately , it is coming as null ... But if I restart the server and access the third usecase then I'm getting all the card data from C1 Entity which were saved through P1 Entity .
    To summarise my finding , issue is with Toplink caching. When i
    accessed the first usecase, C1 is cached. In the second usecase , I updated Entity card using P1. When i accessed the third usecase , toplink is returing the cached entity. Toplink is not able to identify whether related entity got changed or not....
    Workaround is not to use cache for C1 entity. It is working but it will
    not be the correct solution.
    any one faced this issue in Toplink ?
    Correct me if my findings are not correct...

    Hello,
    Its not that the cache isn't working, its that you are updating relationships in the database but not in the cache. Take the case of a 1:M from B->C used in a previous response. It looks like the foreign key used in this relationship (in the C table) is mapped to the C object either as a direct to field mapping, or through a 1:1 to the A object. When you change this so that it now somehow points to the B object, you haven't updated the B object to include the C in its collection. Because B has a 1:M mapping collection of Cs, when you next get that B object from the cache, its collection will not contain the newly referenced C (assuming indirection is not used or has been previously triggered). This is a result of you mapping the 1:M in the first place - since it is storing the collection in the object.
    If you are going to make changes that affect relationships and yet not update the relationships directly I would suggest either:
    A) refreshing affected objects from the database when done. In this case, refreshing the B object will result in TopLink requerying the B->C relation and picking up any changes (depending on your refresh options on the B descriptor though - please check the docs if you need more info).
    B) Not mapping these relationships. Instead, when you need to find C objects referenced from B, query for them.
    Both options are less efficient as they cause more hits to the database. This is why it would be preferred if you updated the relationships when you change fields that affect those relationships, but it is up to you to decide which will work best for your application.
    Please note that the cache is working, in fact the situation you are seeing is due to it working. I am not sure of how your situation would work with DAO as you mentioned in a previous post, but it sounds like it would always hit the database. This situation is a result of you making changes in the database but not changing the object model to reflect those changes, proving that the cache is indeed working. While you mention that some objects are not in your use case, they are in the database but just not mapped in TopLink. In the case of a 1:M mapping, the database shows a 1:1 back relationship that you have not mapped in your object model. So this would be more a case of your object model not matching your database model, and not being taken into account in your use cases.
    Best Regards,
    Chris

  • Toplink Deployment issues

    Hello,
    I am trying to come up with a way to do deployment of the entity objects independent of any application server-be it Weblogic or Websphere or OAS. Of course not sure if it is possible but I would like to ask the community for their thoughts on my ideas . Of course if somebody has already done this please excuse this thread.
    1) I have a startup /shutdown class that is registered with the application server. This class will load the sessions.xml file and create a server session object. This class is a singleton and has one method that returns a server session object. The shutdown class will kill the server session object at the time of shutdown of the application server. So this ensures that the sessions.xml and project.xml that lie at the same level as the classes directory will be loaded by the system class loader along with the toplink.jar file. All the descriptors get loaded at this time.
    2) I package my EJB/Servlet classes along with my POJO into either a jar or a war file and they get loaded by the corresponding EJB/Servlet class loader.The Session bean or the servlet helper class will call the getServerSession() on the startup class to obtain any client sessions and perform persistence activity.
    Anybody see any issues with this approach ?
    Thanks,
    Aswin.

    Hello,
    I am trying to come up with a way to do deployment of the entity objects independent of any application server-be it Weblogic or Websphere or OAS. Of course not sure if it is possible but I would like to ask the community for their thoughts on my ideas . Of course if somebody has already done this please excuse this thread.
    1) I have a startup /shutdown class that is registered with the application server. This class will load the sessions.xml file and create a server session object. This class is a singleton and has one method that returns a server session object. The shutdown class will kill the server session object at the time of shutdown of the application server. So this ensures that the sessions.xml and project.xml that lie at the same level as the classes directory will be loaded by the system class loader along with the toplink.jar file. All the descriptors get loaded at this time.
    2) I package my EJB/Servlet classes along with my POJO into either a jar or a war file and they get loaded by the corresponding EJB/Servlet class loader.The Session bean or the servlet helper class will call the getServerSession() on the startup class to obtain any client sessions and perform persistence activity.
    Anybody see any issues with this approach ?
    Thanks,
    Aswin.

  • Oracle Toplink Version issue

    Oracle Toplink Version
    Hi all,
    Can i know which version of toplink is stable?
    currently i am using toplink v9.0.3 for our project.i found in the same forum that there is a bug(#2662726) in v9.0.3 related to improper setting of target foreign key and a suggestion to use v9.0.3.2 where bug had been fixed.
    I am unable to find v9.0.3.2 download in oracle site.I found only the latest versions 9.0.4(10g product).I tried to install toplink 10g which is just an extraction of zip file,but i end up with the error "Windows cannot find '-Xmx128m' file" when i tried to start workbench.cmd
    I found somewhere that there is a work-around for that bug - just reversing the feild names of addTargetForeignKeyFeildName() method.
    I don't want to take risk.
    please suggest me correct stable versions and place of downloads of both App.server and toplink
    our Oracle Application server version is 9.0.3. if i am going to use the latest version of toplink,can it solve the issue mentioned above and also can it be compatible with app server version.
    Thanks in advance.
    Regards,
    Karthick.

    Hi doug,
    Thanks for ur immediate response.
    I had installed the latest patchset 9.0.3.6 and tried to generate project java source using workbench.
    now the foreign key mapping problem is O.K. but i am having problems in the generated persistent classes code.
    I am having certain feilds in a table in Oracle Database of type Number of size varying from 1 - 6. I used workbench to generate code for that table. In that i found that all attributes which has direct to feild mapping to a Number datatype in Database is of type Double(irrespective of size even for Number(1)).
    I think it is a huge memory wastage having Double where an Integer or other types will do.
    I would be very grateful if u help me in this regards.
    -karthick.

  • TOPLINK Timestamp Issue

    We have noticed that when TOPLINK is used to insert a datetime into our table, the time entered is always an hour ahead. We are in the EST zone. When we use custom SQL and use SYSDATE to enter or update dates, the datetime is stored at the correct time zone. The BPEL transforms always show the time correctly in the BPEL monitor but by the time it gets inserted into the table it is an hour ahead. I thought maybe it was getting the date from the server but we checked and that time is local time.
    Any ideas?

    Are you trying to insert the date from BPEL Console or from ESB console. If you are inserting it from ESB console check the SYS time in ESB database.
    I guess there might be a hour time difference ESB and BPEL metadata.
    -Ramana.

  • Toplink Cache issues in Cluster

    Hi
    Our production environment is have a clustered environment and we have been noticing the following problem. When a user is trying to save a record she repeatedly encounters the "Toplink-5006" exception that I have included below.
    TopLink Error]: 2006.07.19 04:49:23.359--UnitOfWork(115148745)--null--Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]
    [TopLink Error]: 2006.07.19 04:49:23.359--UnitOfWork(115148745)--null--Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]
    <Jul 19, 2006 4:49:23 PM PDT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setPeople(java.util.HashMap,java.lang.String,java.lang.String,java.lang.String,java.util.HashSet,com.rhii.mjplus.common.login.data.UserInfoDO)],Xid=BEA1-795A6481D2E1938A8EAD(115171166),Status=Rolled back. [Reason=Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=MS15_mjp),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@6dcf50b),SCInfo[mjp+MS15_mjp]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setPeople(java.util.HashMap,java.lang.String,java.lang.String,java.lang.String,java.util.HashSet,com.rhii.mjplus.common.login.data.UserInfoDO)], weblogic.jdbc=t3://10.253.129.56:2323}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=MS15_mjp+10.253.129.56:2323+mjp+t3+, XAResources={},NonXAResources={})],CoordinatorURL=MS15_mjp+10.253.129.56:2323+mjp+t3+): Local Exception Stack:
    Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2) (Build 040311)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [[email protected]ce459] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink_CMP_2_0 Primary Key> [1001280937, 0]
         at oracle.toplink.exceptions.OptimisticLockException.objectChangedSinceLastReadWhenUpdating(Ljava/lang/Object;Loracle/toplink/queryframework/ObjectLevelModifyQuery;)Loracle/toplink/exceptions/OptimisticLockException;(OptimisticLockException.java:109)
    What is puzzling is that the occurance of this nature has increased with user load and the toplink cache does not seem to have been refreshed after it encounters the first Optimistic Lock exception. We have run several test and this is not reproducabile in the DEV environment where we do not have a clustered set. After making a few updates to a record users starts experiencing the problem ... for some this persist for a really long time.
    We do not have Cache synchronization
    Cluster setup is as followes
    There are 4 boxes and each box has one admin and 4 managed servers.
    I have included the toplink-cmp-people.xml ( Thisis the particular entity bean we have a problem with) Our application server is Weblogic and we have Toplink version 9042
    <toplink-ejb-jar>
    <session>
    <name>People</name>
    <project-class>
    com.rhii.mjplus.fo.people.beans.PeopleToplink
    </project-class>
    <login>
    <datasource>MJPool</datasource>
    <non-jts-datasource>MJPool</non-jts-datasource>
    </login>
    <use-remote-relationships>true</use-remote-relationships>
    <customization-class>com.rhii.mjplus.common.TopLinkCustomization
    </customization-class>
    </session>
    </toplink-ejb-jar>
    I would appreciate any kind of feedback
    Thanks
    Lakshmi

    Can you refresh that record using a query before you save it ?
    Hi
    Our production environment is have a clustered
    environment and we have been noticing the following
    problem. When a user is trying to save a record she
    repeatedly encounters the "Toplink-5006" exception
    that I have included below.
    TopLink Error]: 2006.07.19
    04:49:23.359--UnitOfWork(115148745)--null--Exception
    [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2)
    (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937, 0]
    [TopLink Error]: 2006.07.19
    04:49:23.359--UnitOfWork(115148745)--null--Exception
    [TOPLINK-5006] (TopLink (WLS CMP) - 10g (9.0.4.2)
    (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937, 0]
    <Jul 19, 2006 4:49:23 PM PDT> <Error> <EJB>
    <BEA-010026> <Exception occurred during commit of
    transaction Name=[EJB
    com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setP
    eople(java.util.HashMap,java.lang.String,java.lang.Str
    ing,java.lang.String,java.util.HashSet,com.rhii.mjplus
    .common.login.data.UserInfoDO)],Xid=BEA1-795A6481D2E19
    38A8EAD(115171166),Status=Rolled back.
    [Reason=Exception [TOPLINK-5006] (TopLink (WLS CMP) -
    10g (9.0.4.2) (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937,
    0]],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=0,seconds
    left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTS
    XAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrap
    per.JTSXAResourceImpl]=(state=rolledback,assigned=MS15
    _mjp),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@6dcf
    50b),SCInfo[mjp+MS15_mjp]=(state=rolledback),propertie
    s=({weblogic.transaction.name=[EJB
    com.rhii.mjplus.fo.people.beans.PeopleManagerBean.setP
    eople(java.util.HashMap,java.lang.String,java.lang.Str
    ing,java.lang.String,java.util.HashSet,com.rhii.mjplus
    .common.login.data.UserInfoDO)],
    weblogic.jdbc=t3://10.253.129.56:2323}),OwnerTransacti
    onManager=ServerTM[ServerCoordinatorDescriptor=(Coordi
    natorURL=MS15_mjp+10.253.129.56:2323+mjp+t3+,
    XAResources={},NonXAResources={})],CoordinatorURL=MS15
    _mjp+10.253.129.56:2323+mjp+t3+): Local Exception
    Stack:
    Exception [TOPLINK-5006] (TopLink (WLS CMP) - 10g
    (9.0.4.2) (Build 040311)):
    oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object
    [com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLin
    k_CMP_2_0@6dce459] cannot be updated because it has
    changed or been deleted since it was last read.
    Class>
    com.rhii.mjplus.fo.people.beans.People_z2e2a7__TopLink
    CMP2_0 Primary Key> [1001280937, 0]
    at
    t
    oracle.toplink.exceptions.OptimisticLockException.obje
    ctChangedSinceLastReadWhenUpdating(Ljava/lang/Object;L
    oracle/toplink/queryframework/ObjectLevelModifyQuery;)
    Loracle/toplink/exceptions/OptimisticLockException;(Op
    timisticLockException.java:109)
    What is puzzling is that the occurance of this nature
    has increased with user load and the toplink cache
    does not seem to have been refreshed after it
    encounters the first Optimistic Lock exception. We
    have run several test and this is not reproducabile
    in the DEV environment where we do not have a
    clustered set. After making a few updates to a record
    users starts experiencing the problem ... for some
    this persist for a really long time.
    We do not have Cache synchronization
    Cluster setup is as followes
    There are 4 boxes and each box has one admin and 4
    managed servers.
    I have included the toplink-cmp-people.xml ( Thisis
    the particular entity bean we have a problem with)
    Our application server is Weblogic and we have
    Toplink version 9042
    <toplink-ejb-jar>
    <session>
    <name>People</name>
    <project-class>
    com.rhii.mjplus.fo.people.beans.PeopleToplink
    </project-class>
    <login>
    <datasource>MJPool</datasource>
    <non-jts-datasource>MJPool</non-jts-datasource>
    </login>
    <use-remote-relationships>true</use-remote-relationsh
    ips>
    <customization-class>com.rhii.mjplus.common.TopLinkCu
    stomization
    </customization-class>
    </session>
    </toplink-ejb-jar>
    I would appreciate any kind of feedback
    Thanks
    LakshmiCan you refresh that record using a query before you save it ?

  • Toplink descriptor migration issues in JDeveloper 10.1.3.5 - 11

    I'm having several projects developed with TL as a PM in JDeveloper 10.1.3.5. Descriptors and toplink-ejb.jar file are parsed correctly, but when I migrate projects to 11G Toplink parsing breaks and it is not able to display EJBs with the following error:
    Local Exception Stack:
    Exception [TOPLINK-6044] (Oracle TopLink - 11g Release 1 (11.1.1.5.0) (Build 110305)): oracle.toplink.exceptions.QueryException
    Exception Description: The primary key read from the row [DatabaseRecord()] during the execution of the query was detected to be null. Primary keys must not contain null.
    Query: ReadAllQuery(oracle.toplink.workbench.mappingsmodel.database.MWLegacyTable)
         at oracle.toplink.exceptions.QueryException.nullPrimaryKeyInBuildingObject(QueryException.java:837)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:418)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObjectsInto(ObjectBuilder.java:748)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.buildObjectsFromRows(DatabaseQueryMechanism.java:170)
         at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:477)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:679)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
         at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:445)
         at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2265)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1079)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1063)
         at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolicy.java:264)
         at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRowInternal(ForeignReferenceMapping.java:1377)
         at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java:1306)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1117)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:279)
         at oracle.toplink.sdk.SDKAggregateObjectMapping.buildCompositeObject(SDKAggregateObjectMapping.java:58)
         at oracle.toplink.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow(AbstractCompositeObjectMapping.java:231)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1117)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:279)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:584)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:441)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:391)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:511)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:433)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:679)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:397)
         at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2265)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1079)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1063)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1022)
         at oracle.toplink.internal.sessions.AbstractSession.readObject(AbstractSession.java:2827)
         at oracle.toplink.workbench.mappingsio.legacy.PersistenceTools50.readMWProjectNamed(PersistenceTools50.java:331)
         at oracle.toplink.workbench.mappingsio.legacy.LegacyIOFacade.read50Project(LegacyIOFacade.java:29)
         at oracle.toplink.workbench.mappingsio.ProjectReader.readLegacyProject(ProjectReader.java:296)
         at oracle.toplink.workbench.mappingsio.ProjectReader.read(ProjectReader.java:110)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:64)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:60)
         at oracle.toplink.workbench.addin.application.ProjectContext.buildProject(ProjectContext.java:160)
         at oracle.toplink.workbench.addin.application.ProjectContext.initialize(ProjectContext.java:440)
         at oracle.toplink.workbench.addin.application.ProjectContext.<init>(ProjectContext.java:106)
         at oracle.toplink.workbench.addin.application.ContextManager.openProject(ContextManager.java:1169)
         at oracle.toplink.workbench.addin.application.ContextManager.openTopLinkMap(ContextManager.java:1218)
         at oracle.toplink.workbench.addin.application.ContextManager.loadProjectContext(ContextManager.java:1068)
         at oracle.toplink.workbench.addin.application.ContextManager.getContext(ContextManager.java:657)
         at oracle.toplink.workbench.addin.ui.view.TopLinkContextViewContextBuilder.topLinkContext(TopLinkContextViewContextBuilder.java:202)
         at oracle.toplink.workbench.addin.ui.view.TopLinkContextViewContextBuilder.openDocument(TopLinkContextViewContextBuilder.java:187)
         at oracle.toplink.workbench.addin.ui.view.ViewContextManager$OpenDocument.run(ViewContextManager.java:1081)
    There was a similar thread here :
    Re: Errors migrating from jDev 10.1.3.4 to jDev 11.2.1
    I did try to migrate to 11.1.1.4.0 and 11.1.1.5.0 - still no luck. All offline databases are present and correctly "connect" to corresponding EJBs in 10.1.3.5.
    Neither I cant find migration matrix/docs that were referred in similar threads. If this is not resolved, we can not chose Jdeveloper as a future IDE at the company...
    Thank you!
    V.

    Hi,
    the web appears to be full of such error messages and some point to the use of named native query vs. named query. So here are some options for you to try
    1. Create a test project in 11g using the same tables and compare the generated code with yours to see a difference
    2. Get a 10.1.3.5 project that you haven't migrated and pass it on to customer support for them to have a try on this.
    +"If this is not resolved, we can not chose Jdeveloper as a future IDE at the company..."+ Actually it doesn't appear to be a JDeveloper issue but a TopLink / EclipseLink issue. Abandoning JDeveloper is like shooting the messenger. Just so you know.
    Frank

  • Toplink locking oracle tables?

    Does toplink ever issues a "Lock Table" or "Select xxx From xxx FOR UPDATE"?
    I'm getting a oracle error: ORA-00060: deadlock detected while waiting for resource
    When I query the v$locks table I can see
    SID Type LMODE
    252 TM 3
    From what I've read this is a table lock. Is TM LMODE 3 a table lock? Or just a row exclusive lock?
    http://rahulagarwal.wordpress.com/2006/03/27/locking-in-oracle-dml-locks/

    TopLink never issues a Lock table but can issue a SELECT ... FOR UPDATE. The pessimistic locking SELECT ... FOR UPDATE requires the developer to configure its use on a query or through the UnitOfWork API.
    Doug

  • Sources for package oracle.toplink.internal.expressions in version 10.1.3.5

    Hi there,
    I just downloaded file toplink_101350.zip from Oracle and in folder \toplink\jlib it has a file called toplink-src.zip. When I look at jar file toplink.jar it contains much more packages like oracle.toplink.internal.expressions that in the source file.
    Now where can I get the full oracle toplink source?
    Thanks.
    Regards,
    Joao

    Hi,
    the web appears to be full of such error messages and some point to the use of named native query vs. named query. So here are some options for you to try
    1. Create a test project in 11g using the same tables and compare the generated code with yours to see a difference
    2. Get a 10.1.3.5 project that you haven't migrated and pass it on to customer support for them to have a try on this.
    +"If this is not resolved, we can not chose Jdeveloper as a future IDE at the company..."+ Actually it doesn't appear to be a JDeveloper issue but a TopLink / EclipseLink issue. Abandoning JDeveloper is like shooting the messenger. Just so you know.
    Frank

  • Clearing Toplink cache

    We are encountering OptmisticLockException sometimes in our app, when this happens all the other transactions are affected, is there any way to clear the Toplink cache externally? thanks

    Thanks, but can you please tell me why Toplnik is issuing an update instead of insert for the object FXSingleLegC.FI120.0#16137966, I have given the list of registered objects and the sql generated, as you
    can see the primary key is 0 for the object and Toplink still issues an update statement
    2008-10-16 13:30:45,385 DEBUG Thread-199 [[email protected]] ISTransactionManager.endTransaction called
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Severe]:
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.387--UnitOfWork(16131849)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    UnitOfWork identity hashcode: 16131849
    All Registered Clones:
    Key: [0]     Identity Hash Code: 16153182     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.CITI.0#16153182
    Key: [0]     Identity Hash Code: 15825629     Object: com.integral.finance.trade.TradeExternalSystemIdC.MAIN.0#15825629
    Key: [0]     Identity Hash Code: 16151868     Object: com.integral.finance.dealing.QuoteC.CITI.0#16151868
    Key: [0]     Identity Hash Code: 16136988     Object: com.integral.finance.dealing.RequestExternalSystemIdC.MAIN.0#16136988
    Key: [0]     Identity Hash Code: 16165592     Object: com.integral.finance.fx.FXLegC.MAIN.0#16165592
    Key: [0]     Identity Hash Code: 16152054     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.CITI.0#16152054
    Key: [0]     Identity Hash Code: 16136630     Object: com.integral.finance.dealing.RequestC.FI120.0#16136630
    Key: [0]     Identity Hash Code: 16152405     Object: com.integral.finance.dealing.fx.FXDealingPriceElementC.MAIN.0#16152405
    Key: [0]     Identity Hash Code: 16261779     Object: com.integral.workflow.WorkflowStateMapC.FI120.0#16261779
    Key: [0]     Identity Hash Code: 16153490     Object: com.integral.finance.dealing.fx.FXDealingPriceElementC.MAIN.0#16153490
    Key: [0]     Identity Hash Code: 16137966     Object: com.integral.finance.fx.FXSingleLegC.FI120.0#16137966
    Key: [0]     Identity Hash Code: 16137678     Object: com.integral.finance.fx.FXLegC.MAIN.0#16137678
    Key: [0]     Identity Hash Code: 16140011     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.MAIN.0#16140011
    Key: [0]     Identity Hash Code: 16262600     Object: com.integral.finance.trade.CptyTradeC.FI120.0#16262600
    Key: [0]     Identity Hash Code: 16263303     Object: com.integral.finance.trade.CptyTradeC.FXI.0#16263303
    Key: [0]     Identity Hash Code: 16137383     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.MAIN.0#16137383
    Key: [4434103]     Identity Hash Code: 16156067     Object: com.integral.finance.dealing.RequestC.FI120.4434103#16156067
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.387--UnitOfWork(16131849)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: begin unit of work commit
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.391--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink: begin transaction
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: Begin batch statements
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Fine]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: INSERT INTO IdcWorkflowState (id, modifiedDate, statusLastModified, status, wrkflowCode, wrkflowCodeArg, statelastmodified, createdDate, guid, version, displayKey, workflowparentid, cptyId, changeSetId, workflowErrorsId, namespaceId, lastactor, clsfId, lastStateId, workgroupId, firstactor, lastModifiedById, stateid, type) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Fine]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:      bind => [5036105, 2008-10-16 13:30:45.378, null, A, null, null, 2008-10-16 13:30:45.379, 2008-10-16 13:30:45.378, G2cbe1d024c11d05d9e502972, 1, null, null, null, null, null, 167001, 402003, null, null, null, 402003, 402003, 78, IdcWFStateMapC]
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: End Batch Statements
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Fine]:
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.393--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink: UPDATE IdcTrd SET modifiedDate = ?, statusLastModified = ?, origUsrId = ?, takerRefId = ?, origCptyId = ?, workflowStateMapId = ?, tkrCptyId = ?, mkrCptyId = ?, version = ?, lastModifiedById = ? WHERE ((id = ?) AND (version = ?))
         bind => [2008-10-16 13:30:45.392, 2008-10-16 13:30:45.378, 402003, test167, 392001, 5036105, 392001, 392012, 1, 402003, 0, 0]
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,395 WARN pool-2-thread-1 [-] HTTPMessageSenderC.sendMessage : status=200 responseStr=com.integral.is.message.ResponseMessageC|{}|{}|null|^1|{}|null|^
    2008-10-16 13:30:45,395 WARN pool-2-thread-1 [-] HTTPMessageSenderC.getReturnMessage : objType is com.integral.is.message.ResponseMessageC
    2008-10-16 13:30:45,395 WARN pool-2-thread-1 [-] HTTPMessageSenderC.getReturnMessage : objStr is {}|{}|null|^1|{}|null|^
    2008-10-16 13:30:45,431 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Warning]:
    2008-10-16 13:30:45,431 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.431--UnitOfWork(16131849)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,453 WARN JMS SessionPool Worker-60 [[email protected]] MessageListenerC.handleTradeResponse: Got trade response for transaction id FXI7423644->com.integral.is.message.TradeVerifyC - Properties{START_TIME=1224163845446,PROCESSED_TIME=1224163845446,} Timing{AcceptanceReceivedByAdapter=1224163845387,VerificationReceivedFromProvider=1224163845446,AcceptanceSentToProvider=1224163845387,} serverId=null,tradeId=FXI7423644,requestReferenceId=null,buySell=0,baseCcy=null,variableCcy=null,statusDesc=null,providerTradeId=FXI742364410,valueDate=Sat Oct 18 00:00:00 GMT 2008,acceptedAmount=0.0,acceptedSettledAmount=0.0,acceptedPrice=0.0
    2008-10-16 13:30:45,453 INFO Thread-199 [[email protected]] Persistence - TOPLink: Local Exception Stack:
    2008-10-16 13:30:45,454 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,456 INFO Thread-199 [[email protected]] Persistence - TOPLink: Exception [TOPLINK-5006] (Oracle TopLink - 10g Release 3 (10.1.3.4.0) (Build 080602)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [com.integral.finance.fx.FXSingleLegC.FI120.0#16137966] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.integral.finance.fx.FXSingleLegC Primary Key> [0]
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.exceptions.OptimisticLockException.objectChangedSinceLastReadWhenUpdating(OptimisticLockException.java:125)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.descriptors.VersionLockingPolicy.validateUpdate(VersionLockingPolicy.java:677)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1081)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeCommitWithChangeSet(WriteObjectQuery.java:98)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2631)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.insert(ObjectReferenceMapping.java:853)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.preInsert(ObjectReferenceMapping.java:469)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.DescriptorQueryManager.preInsert(DescriptorQueryManager.java:892)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:380)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(InsertObjectQuery.java:65)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:75)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedWrite(DatabaseQueryMechanism.java:522)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedInsert(DatabaseQueryMechanism.java:490)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:357)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeCommitWithChangeSet(WriteObjectQuery.java:110)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2631)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.insert(ObjectReferenceMapping.java:853)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.preInsert(ObjectReferenceMapping.java:469)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.DescriptorQueryManager.preInsert(DescriptorQueryManager.java:892)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:380)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(InsertObjectQuery.java:65)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:75)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2631)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.sessions.CommitManager.commitNewObjectsForClassWithChangeSet(CommitManager.java:243)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsForClassWithChangeSet(CommitManager.java:218)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:174)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3194)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1320)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1416)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:1164)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:932)

  • Flattering an O/R model.

    Hi,
    I'm trying to model something like this:
    I have a main table (ie. people) with a 1-N relation with another table (ie. phone_numbers).
    Lets say the phone_numbers table has a column used to identify the "main" phone number for each person. As in most cases, I just need the main phone number for each person, I would like to be able to access it the simplest way (iow, what I am going after is to find a way of avoid accessing the phones "vector" in order to obtain the main one). I need to guarantee phone number uniqueness at the database level, (that's why I store all on the same table, it has an UNIQUE_INDEX over that column).
    As a side note I don't mind the overhead of having to join the tables each time I access a person.
    I'll try to describe it in a "lower level" manner...
    The database model would be like this:
    create table people (
        person_id         number primary key,
        name               varchar2(50)
    create table phone_numbers (
        phone_id         number primary key,
        person_id        references people,
        phone_number varchar2(10),
        main               varchar2(1)
    and the object mapping like:
    public class Person {
        Long id;
        String name;
        List phoneNumbers;
    public class Phone {
        Long id;
        Person person;
        String number;
        Boolean main;
    Using this configuration I will always have to write the following kind of code at bussiness level to access some person's main phone number:
    public class Bookmark {
        public String getMainPhone(Long personId) {
                    Person person = personDAO.findPersonById(personId);
                    List phoneNumbers = person.getPhoneNumbers();
                    Iterator it = phoneNumbers.iterator();
                    while (it.hasNext()) {
                        Phone phone = (Phone) it.next();
                        if (phone.getMain() == true)
                            return phone.getNumber();
        public void setMainPhone(Long personId, String newMainPhone) {
            Person person = personDAO.findPersonById(personId);
            List phoneNumbers = person.getPhoneNumbers();
            Iterator it = phoneNumbers.iterator();
            while (it.hasNext()) {
                Phone phone = (Phone) it.next();
                if (phone.getMain() == true) {
                    phone.setMain(false);
                    break;
            Phone phone = phoneDAO.create(newMainPhone, true); // this will create the phone with the main attribute set to "true"
            person.add(phone);
    What I am trying to achieve is something like this:
    public class Person {
        Long id;
        String name;
        String mainPhone;
        List phoneNumbers;
    public class Phone {
        Long id;
        Person person;
        String number;
        Boolean main;
    so I can write simpler code:
    public class Bookmark {
        public String getMainPhone(Long personId) {
            Person person = personDAO.findPersonById(personId);
            return person.mainPhone();
        public void setMainPhone(Long personId, String newMainPhone) {
            Person person = personDAO.findPersonById(personId);
            person.setMainPhone(newMainPhone);
    I know this approach moves complexity from bussiness logic to data layer but it does not, in fact, represents too much "logic" and I would not mind "moving" it to the database.
    I have been thinking on using a view like:
    create view peopleview as
        select
            p.person_id,
            p.name,
            n.phone_number
        from
            people p, phone_numbers n
        where
            n.person_id = p.person_id
    I then see two aproaches:
        1. Defining the POJO over the view for "selecting" querys and going straight to the phone_numbers table for "data modification" ones. The problem is I think TopLink's cache would not see the "change" in the view and thus I would have in some way to refresh the people object.
        2. Updating the phone number through people object. I presume TopLink will issue an "update" query over the view which then will fire a database trigger that would "insert" the new phone number into the phones table setting the "main" flag to true for the new phone and to false to the older one, I could even set the phone number to null in order to deal with people not having a "main phone"). The problem will be that TopLink "Phones" cache would not notice the change (I would have to either dissable cache for the Phone class or implement some cache invalidation mechanism.
    I have also considered another approach in which the people table would have a "real" column for the main phone number and storing "secondary" phones only in phone_numbers table having all the phone management logic into application's code. The problem with this -that would work for sure- is that I think it pollutes the database model as we would no longer have all the phone numbers in one table and thus, mantaining the uniqueness over them, would be harder.
    As a side note, even if -for the shake of clarity- I have been using DAOs in my examples, we are currently using EJB 2.1 (Weblogic 8.1) so implementing the Phone objects management into the entity beans is not as easy as if we were using TopLink's POJOs directly with access to UOW, callbacks and so.
    The more I think on this the less convinced I am. I don't know if I am following the wrong way aproaching this thing, but it seems to me that there has to be a simpler and nicer way of doing this.
    I have searched the forum and found this thread Heavily normalized 1:1 relationships asking for something vaguely related to this but the answers are helpless for me.
    I would be very pleased if you could give me some hints on aproaching this problem.
    Regards,
    Ignacio.

    Thanks so much for your promptly answer jsutherl,
    I'm doing this just for simplicity, although performance increase is always welcomed (moreover if it is almost "for free"). I would like to avoid traversing phones vector each time I want to access main phone (which happens to be 99% of the use cases).
    I didn't considered the 1-1 mapping but it seems to be a nice idea.
    The main problem I see with that 1-1 aproach is, once again, data stalling.
    Eg:
    Consider we have just performed a query over people table that, via your suggested join, gathered also the main phone for the retrieved person. Right now it's perfect, we have mainPhone attribute filled without an aditional roundtrip to the database. Now lets consider I want to update person's main phone thus setting the retrieved one as an "old" phone (via the boolean main attribute of the phone object).
    Now, in order to set the new main phone I see two different ways:
    1. Create the new phone and set it to the person object:
    Problem: if I have previously accessed phones vector I don't think TopLink would "update" it with the new phone (at least, I don't think it would do it "in memory" and I doubt it will do even if I invoke again the getPhoneNumbers() method as it is a good optimization to assume there can't be new objects matching the criteria defined by "select * from phone_numbers where person_id = ?" query.
    2. Create the new phone and add it to the phones vector:
    Problem: I'm pretty sure TopLink would not refresh the mainPhone attribute on the Person object hence causing the stalled data issue on Person object.
    Maybe the solution goes by doing both operations (hopping that TopLink knows that both, the phone being "setted" to the field and "added" to the vector is the same one).
    And last but not least:
    Does the 1-1 mapping allow me to access directly the attribute "number" of the phone via the person object? I mean, can I do something like: person.getMainPhoneNumber() instead of having to code person.getMainPhone().getNumber()?
    Regards,
    Ignacio.
    P.S. In relation to your code: I assume the addToDescriptor method belongs to Person descriptor, but: how is TopLink supposed to know that you are dealing with Phone objects? Wouldn't it be neccesary to create the ExpressionBuilder object over the Phone class?

  • Row-/instance-based authorization

    Hi,
    I'm looking for ways to implement row-/instance-based authorization using Toplink 9.0.4+ and Oracle DB 9.204. The domain objects are represented by standard Java objects (POJO's) not entity-beans.
    My question: what are well-know working approaches to implement this? How did you do that in a project using Toplink and POJO's?
    I guess Label security/Virtual Private Databases would be interesting to consider. But I wonder if it's possible to use that with Toplink. Issues that I see right now:
    - how to propagate the credentials of the user to the database and still use connectionpooling?
    - can Toplink generally make use of Label Security
    Another approach would be to implement a JAAS extension following the lines of the article "Extending JAAS for class-instance authorization" http://www-106.ibm.com/developerworks/java/library/j-jaas/
    I expect this can easily result in a separate query per object. Which probably results in atrocious performance.
    Or this could be implemented by an aspect. But still this would probably necessitate n+1 queries for n objects. In other words: this would still let the appserver do the constraining of results while that is right task for the database of course.
    Your comments and advice are highly appreciated,
    Joost de Vries
    the Netherlands

    The main decision to make is whether to handle the instance level security in the application, or the database.
    As you mentioned there are many ways to handle security in the application.
    Oracle database supports VPD and OLS for row level security. The TopLink 10g 10.0.3 preview has added support for this refer to:
    http://otn.oracle.com/products/ias/toplink/preview/index.html

  • No cache hit on one-to-one mapping

    I am experimenting with toplink and have found that toplink does not use cache when I read a object having one-to-one mapping with other object that have been already in memory.
    e.g. I have an employee class that have a field with one-to-one mapping (with no indirection) to a department class
    I have two objects of the employee class, that share the same object of department class (they work in the same department)
    When I read (using readObject ) first object of the employee class, I expect an referenced object of the department class is read and placed in the session cache.
    However when I read second object of the employee class, I recognized that toplink again issue SQL command to read the department class's object

    Hello,
    Is employee-> department mapping using the full department pk in the reference? TopLink by default uses the check cache by primary key on all queries. This means that when the Employee object is built, it will query for the department object. This will cause it to search the cache for the department object only if it can create the full pk from the foreign key fields in the employee table, otherwise it will go to the database. Even though it may go to the database, it will still return the object from the cache to maintain object identity - it will only build the department object if one does not already exist with that pk in the cache.
    Another circumstance this behaviour could occur is if the department object is removed from the identity map through garbage collection, or if no identitymap is being used.
    Please check http://download-west.oracle.com/docs/cd/B10464_01/web.904/b10313/queries.htm#1134704
    for info on TopLink queries with respect to the cache. If this is what is happening in your case and you want to have this specific department query go to the cache first, you can change it using an ammendment method on the employee descriptor. in the ammendment method, you will need to get the department mapping and use the getSelectionQuery() api to modify the associated query.
    Best Regards,
    Chris Delahunt

Maybe you are looking for

  • How to connect Satellite Pro L40-15A to my TV?

    Hi I would like to use the laptop connected to my TV to watch movies. Can it be connected using the TV as a monitor and what type of cable would you use? Thanks Malc

  • Has EMBED Flash problem in IE caused sites to abandon Flash?

    Apparently this problem has been around for a while and several sites that used Flash for slideshows on their homepages seem to be using ajax now. I didn't realize that there was some eolas patent issue that Microsoft activex was violating. I finally

  • Wireless-B BEFW11S4 "wireless B" LED light...

    I'm trying to set up a wireless router with my DSL but I'm having a problem.  I followed the directions (plugged the cord from the modem into the internet slot on the router and the other cord from an internet port on the router to the computer) but

  • Moving library from external to internal hard disk

    When I started working with Lightroom, I put my library on an external 500GB Lacie hard drive to conserve space on my computer's hard disk. I now have a new system: Mac Pro OS X 10.5.3 10GB of RAM video card: ATI Radeon HD 2600 XT with a nominal 500G

  • Re-rendering for no reason

    I am very perplexed as to why entire clips have to be re-rendered when a dissolve is placed between them?  I am editing a movie that has been color corrected with Pomfort's DSLRLog2Video LUT so maybe that has some bearing here but I don't understand