Conform in unit of work broken when not enabling Read Subclasses On Query

Any business application must use conform in unit of work to have expected ACID properties or modifications done during a unit of work are not visible when executing queries.
So our application is always using conform in unit of work. We are using TopLink 10.1.3.3.
We have couple of mapped inheritances. One of them is setup so that when you query on the base class the subclasses are never returned. This is done in TopLink Workbench in inheritance tab by not checking checkbox "Read Subclasses On Query".
The SQL generated is right. But the code handling conform in unit of work doesn't respect the flag.
The code in UnitOfWork.java line 4185 is calling:
getIdentityMapAccessor().getAllFromIdentityMap(expression, class1, databaserow, inmemoryqueryindirectionpolicy);
This end-up to call IdentityMapManager.java line 648:
public IdentityMap getIdentityMap(Descriptor descriptor)
/* 648*/ if(descriptor.hasInheritance())
/* 649*/ descriptor = descriptor.getInheritancePolicy().getRootParentDescriptor();
No places in the code are trying to respect deactivation of "Read Subclasses On Query".
So the query return also subclasses that were in the unit of work!
Anybody else is using conform in unit of work?

This is a bug, the subclasses should be getting filtered when conforming.
Please contact Oracle technical support with this issue.
As a workaround you could filter the subclass in your application after executing the query (or possibly use a query redirector), or disable conforming.
<p>---
<br>James Sutherland
<br>Oracle TopLink, EclipseLink
<br>Wiki: Java Persistence, EclipseLink

Similar Messages

  • Is the gps in the ipad working independently when not having telephone connection? Can I navigate with the ipad on sea?

    Is the gps in the ipad working independently when not having sim-contact for internet or telephone? Can I navigate with ipad on sea?

    Is there an App for the iPad that will show my GPS present position on a world map,
    even when I'm at sea?
    Thanks,
    Tomac

  • Work item can not be read when opening the task on the portal side

    Hi Experts,
    when we open a UWL workitem on the PROD portal, the message Workitem xxxxxxx can not be read. If we try it in the back-end, then it works fine. How to solve this? I checked and compare the .xml files on the PROD portal with the WAS portal and everything is the same.
    thanks in advance,
    J. de Voijs

    Dear Robert,
    Please check whether the user to whom you are sending the workitem has proper authorisation. Forward the workitem to another user from backend & try opening it from his UWL. If it opens there perfectly then its an authorisation issue.
    B

  • SF300 LAG port doesn't work, LACP will not enable.

    I'm trying to configure something that seems pretty trivial.
    I need 2-3 ports to participate in a LAG port.  First off, I  get the "Port X belongs to a vlan" if the participating port is  something other than access vlan 1.  This is totally useless.  I need these ports to be dot1Q tunnels.  This happens even If i set the default vlan to 300, (300 is my native or PVID).  Another piece that doesn't seem to work is that LACP will not enable, even if I throw in the towel and make my ports access vlan 1.  What gives?  I've tried this on the only firmware available which has no patches avail yet.  I've tried this on 2x 24ports, and on 2x 48 ports..  all the same issue.

    Hi I just gave it a try  you can see my screen captures below.
    If you are having trouble, have a word to the good folk at the SBSC if the switch is still under phone support coverage.
    http://www.cisco.com/en/US/support/tsd_cisco_small_business_support_center_contacts.html
    Maybe play it safe and delete your settings and start again... Here are some screen shots from my attempt.
    I have to admit I enabled LAG and LACP before I created vlan 100.
    you can see i have the same software as you.
    add the ports and enable LACP at the same time.
    ports 47 and 48 are still excluded from my Tagged Vlan
    Now I selected port drop down for VLAN100 and selected LAG.
    I then  received and then modified the following screen capture.
    Note I manually added LAG interface 1 as a tagged member of VLAN 100.
    Why Lag interface 1, because I created LAG 1 previously, as seen in a previous screen shot above.
    regards Dave

  • Thunderbird 31: Windows 7 top window decoration broken when not using tabs

    Just upgraded to Thunderbird 31 from the previous release on Windows 7.
    The window decoration area at the top that you would normally use to drag the application around has disappeared, and only re-appears when you have tabs open. The minimize/maximize/close buttons are still present in either case.
    Closing all tabs leaves you with an application that cannot be dragged around the screen (only resized / minimized / maximized / closed).
    The workaround in the meantime is to simply leave the "Add-ons Manager" tab open.
    Not entirely related, but this bug is NOT present on the 31.0+build1-0ubuntu0.14.04.1 that ships with Ubuntu 14.04 LTS.

    I am including a montage of the current default screen with the menu bar visible. In that was does your display differ

  • ICal working even when not running

    I'm not sure if this related to Snow Leopard (which I recently installed) or not as I don't normally shut down iCal.
    However, I shut down iCal and I'm still getting the iCal alerts. I have verified that it is not running.
    How do I shut down iCal so as to not have my reminders pop up (while I do not have the application running) and why would it give me reminders when it's not running, anyway.

    Take a look at the setting of "Turn off alarms only when iCal is not open" in iCal's Advanced preferences. If you don't want alarms when it is not running, select this option. Most people, I suspect, do want them - if you want to be reminded of something, you don't want to be not reminded 'cos you have forgotten to leave iCal running.
    It is not a Snow Leopard change.
    AK

  • Spawning a template works in Acrobat, not in Reader

    Hi - I have created a form that has a template.  Originally I wanted to have a new page spawned when the enter key was pressed in one of the text fields at the bottom of the page.  But I wasn't having any luck getting that to work, so I ended up adding a button that spawns a page.  It works in Adobe Acrobat, however when I open the form in Adobe Reader, the button does not add a new page when it is clicked.
    Before I tried out the form in Reader, I saved a copy of the PDF file from Acrobat using the File / Save As Other / Reader Extended PDF / Enable More Tools.
    I am using Acrobat XI and Reader XI.  My operating system is Windows XP.
    Any help would be appreciated!

    It will work in Reader 11 if you don't Reader-enable the document with Acrobat, or if you Reader-enable the document with LiveCycle Reader Extensions and include the spawn template usage right.

  • Exe works only when debugging enabled

    I have a VI that works great in Labview, but when I used the app builder, and ran it as an exe on the same computer, it generates errors.  I turned the debugging on in the build specifications, re-built it, and no more errors.  The error is somewhere in a VI server call that opens an asynchronous VI that reads from a VISA serial device.  It sure makes it hard to debug something when turning the debugger on solves the problem...   
    Should I just be happy that it works, or should I try to fix whatever the problem is? 
    TIA,
    Tom
    Thomas Lentzner - CLD

    SubVI needs its front panel according to that message.  By default, LabVIEW removes front panels for most subVIs because it doesn't expect them to ever be shown.  If your subVI isn't setup to be shown when run or loaded, LabVIEW will remove the front panel.  LabVIEW can remove panels of dynamic VIs as well because it can't tell that it is being called.  So you need to explicitly tell the application builder to not remove the front panel of the Vi.
    Go to the EXE build specification.  In the Source File Settings, find the VI in question.  Uncheck the box telling LabVIEW to use default settings and make sure it does not remove the front panel.
    The reason it works with debugging is that debugging is including all the front panels to allow you to jump into the subVIs.

  • Default Keyboard showing up when not enabled

    Afternoon all,
    First off my iPhone is a 5C running iOS 8.0.2
    I recently downloaded the Swiftkey keyboard and loved it enough to remove my default English keyboard on my iPhone. So I ran into a problem when I did this though. Whenever I switched out of my Messages app and switched back the Emoji keyboard would be set to default in place of swiftkey. I had already changed the order preference under settings to have swiftkey as the first keyboard but this kept happening, enough times where I just removed the Emoji keyboard all together so just swiftkey was left. Now the problem I am running into is that the default iOS keyboard is now popping up whenever I open the app, even though it is not set as one of my keyboards. I am able to get the custom keyboard back by closing the app and opening up again. What's the point of setting a default keyboard if the OS is just going to override it at the start anyway? Any idea if there is an easy fix or is this some bug that will have to get patched in the future?
    Thanks!

    I think I may have put iPhoto in HHS trash. Could that be the problem?
    I don't know what "HHS trash" is. If you put the iPhoto app into the trash on the Dock and emptied it, that would prevent you from opening iPhoto until it was reinstalled, of course, but it wouldn't affect your photos.
    You didn't answer my question, though. Do you have backups? Is your computer actually 7 years old, and has it ever had the hard drive replaced?

  • Satellite Pro L20: WLan adaptor stopped working and will not enable

    Hi,
    I have a Satalite Pro L20 which has been working fine. However, just before Christmas 2006, the wireless adaptor, (Atheros AR5005G), stopped working.
    Windows XP Pro SP2 can see the adaptor, and network connections shows it as being enabled, but it doesn't see any networks.
    The Atheros Client Utility Troubleshooter says that the adaptor pases it diagnostics up to the Radio test, when it says that the Radio is disabled and needs to be enabled in the Client Utility.
    "Excellent!", I thought, opening up the utility with anticipation. Looked under the Action menu to find 'Enable Radio' is greyed out!!!
    HELP!!
    Any assistance is very welcomed.
    Cheers,
    Barry Smith.

    Is there any hardware option to turn on and off your Wlan card? (switch)
    Did you upgrade your Wlan driver recently? (if yes, maybe with wrong driver?)
    I've had a similar issue once and solved it through driver updates... wanna give it a try?
    You can download the generic Atheros driver (Version 5.0.0.107) available from here:
    http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads/drivers/&download=Atheros5_0_0_107.zip
    Regards
    electrochain

  • App.openDoc works in Acrobat, not in Reader

    In a folder-level script I'm using app.openDoc to open an existing PDF and extract an icon from it. The following code works in Acrobat 11 but in Reader X I get a NotAllowedError: Security settings prevent access to this property or method error.
    this.disclosed = true;
    myIcon = app.trustedFunction(function (oArgs) {
         app.beginPriv();
         var pluginPath = app.getPath({ cCategory: "app", cFolder: "javascript" });
         var myDoc = app.openDoc({ cPath: pluginPath + "/MyImages.pdf", bHidden: true });     // <----- error happens on this line
         var oIcon = util.iconStreamFromIcon(myDoc.getIcon("myIcon"));
         app.endPriv();
         return oIcon;
    The MyImages.pdf exists in the same Javascripts folder as the javascript file. I created MyImages.pdf manually via the console and set disclosed=true before saving it.
    I've also tried modifying the call to app.openDoc to set oDoc:this (as recommended in other discussions) but that only caused the same NotAllowedError in both Acrobat and Reader.
    Any ideas?

    It gets called from the top level of the javascript file. Here's an example -- the exact contents of my javascript file -- where I simply load the icon and display the width in a pop up alert. If I open a PDF from the file system then this generates the same NotAllowedError during the call to app.openDoc(). But, if I launch Reader and wait before opening the PDF, the code runs fine and the correct icon width gets alerted to me.
    var myIcon = app.trustedFunction(function () {
          app.beginPriv();
         var pluginPath = app.getPath({ cCategory: "app", cFolder: "javascript" });
         var myDoc = app.openDoc({ cPath: pluginPath + "/MyImages.pdf", bHidden: true });     // <----- error happens on this line
         var oIcon = util.iconStreamFromIcon(myDoc.getIcon("myIcon"));
          myDoc.closeDoc(true);
          app.endPriv();
         return oIcon;
    app.alert(myIcon.width);

  • Private Owned, Conform Results in Unit Of Work, ...

    I'd like to have some precision on Private Owned, Conform Results in Unit Of Work, Use joining, Use Batch Reading, ...
    Thank in advance

    Think of Private Owned as "if I delete the source, should I delete the target". So if you have a 1-1 between Customer and Address, if you delete a customer, should you delete their associated address automatically? If so, then it's private owned.
    If you have a 1-M, say a Manager has 1-M to ManagedEmployees, if you remove a ManagedEmployee from a manager, should it be deleted from the database? Probably not, you may simply be assigning them to another Manager... So, it's probably not private owned.
    Don't use the Conform Results in Unit Of Work in the mapping work bench, that sets up a default behavior for queries on that class, and I prefer to set it as needed, not globally. Conforming a query is unit of work related. Imagine you have a UnitOfWork and then query for all Customers from "Ottawa". Imagine you get back 5 from the database. Then in the unit of work you change one of the customers from "Ottawa" to "Kanata". Then you query the unit of work again (before committing) to find all customers in "Ottawa". The default behavior of TopLink would be to return the customer that has moved to "Kanata", because as far as the database is concerned you haven't committed the change, so he's still technically in Ottawa. If you turned on conforming for that class, or for the specific query, then you would NOT get the customer that moved (at a performance cost, of course).
    The docs on Join/Batch reading are pretty good, see 6-6 of the Using TopLink manual in the optimization section. The option in the mapping workbench lets you setup defaults for the relationship, but again, my preference has always been to set it on a per query basis... This gives you a way to centralize the default behavior for batching and joining for certain relationships.
    - Don

  • Unit of work exception

    I am doing an update all query and some inserts through the same unit of work. When trying to commit, toplink throws exception with the error message
    "Update all query not be issued within a unit of work containing other write operations".
    What is the workaround? I don't want to read all the objects I am bulk updating through update all query. Will a nested unit of work help?
    Pranab

    I believe this issue has been fixed, what version are you using?
    Perhaps try the latest release (EclipseLink 1.0 / TopLink 11g).
    Otherwise you could execute the query in a separate UnitOfWork.
    James : http://www.eclipselink.org

  • X61 Hang when not using AC adapter

    X61 will hang (on the login page, sometimes when using the laptop halfway), when not using AC adapter.I've format the system, install drivers (system update) and application.
    anyone encounter this issue?

    I notice if I disable Atmel TPM (from Device Manager), the system works normal when not connect to AC adapter.
    I did not have most of the Lenovo software installed. Only have System Update, Fingerprint software & Power Manager.
     Will there be any issue if I disable the Atmel TPM ?

  • IllegalArgumentException when using Constructor expression in Named Query.

    I have the following JPQL-query:
    SELECT NEW se.callista.test.dto.EmployeeReportData(e.firstName, e.lastName, a.city, e.employmentPeriod.startDate) FROM Employee e JOIN e.address a ORDER BY e.lastName, e.firstNamewhere EmployeeReportData is a dto (not an entity). The query works fine when running it as a normal query. When I put it as a named query however, I get the following error message when trying to execute it: java.lang.IllegalArgumentException: Object: se.callista.test.dto.EmployeeReportData@10f9644 is not a known entity type.
    I can't find anything in the JPA-spec that says a named query cannot contain a constructor expression - am I missing something?
    Found the error. It works fine now :)
    Message was edited by:
    Sofia_Jonsson

    I had the same problem.
    It seems that the Entity class is not loaded by the JVM at the moment of calling createNamedQuerey(string).
    I've solved this problem by loading the entity class manually in the caller by calling "Class.forName(string)" and passing the entity's class name as a parameter.

Maybe you are looking for