openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pinaki Poddar (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-849) Add metadata-type getter methods to EntityManager
Date Fri, 13 Feb 2009 21:22:59 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12673377#action_12673377
] 

Pinaki Poddar commented on OPENJPA-849:
---------------------------------------

 
        queryTimeout.setLoadKey("javax.persistence.query.timeout");
        queryTimeout.setDefault("-1");
        queryTimeout.set(-1);
        queryTimeout.setDynamic(true);

does not seem kosher for the following reason:

1. loadKey is the key with which a property is loaded from configuration artifacts. At this
point of execution, no property has been *actually* loaded, they are merely being declared
to exist. Hence we should not be setting load key.
2. configuration declares a Value. But does not assign its value. So setting its value to
-1 does not look alright. Setting default value is OK.

These issues gain significance in the light of the fact the configuration's hashcode is the
key to a factory in JNDI. And computation of hashcode depends on the actual value of the Values.
As an extreme example, assume two Configuration C1 and C2 nearly identical but differs *only*
in their query.timeout value. The requirement is hash code for C1 and C2 must not be equal.
And that is what Configuration.hashCode() ensures. But, because we are setting query timeout
to -1 (that is not what the user's p.xml sets) and it is marked as dynamic, in both cases
Configuration hashcode will treat query.timeout value to be -1 and will end up computing same
hashcode for C1 and C2.



> Add metadata-type getter methods to EntityManager
> -------------------------------------------------
>
>                 Key: OPENJPA-849
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-849
>             Project: OpenJPA
>          Issue Type: Sub-task
>    Affects Versions: 2.0.0
>            Reporter: Dianne Richards
>            Assignee: Dianne Richards
>         Attachments: doc_patch.txt, patch.txt, patch.txt, patch3.txt, patch_reset.txt
>
>
> This task is for supporting the new 2.0 EntityManager methods getProperties() and getSupportedProperties()

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message