[
https://issues.apache.org/jira/browse/OPENJPA-891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680318#action_12680318
]
Pinaki Poddar commented on OPENJPA-891:
---------------------------------------
I have started looking into the changes in EntityManagerImpl.java related to
this issue. Here are few comments:(the first one is critical becuase it is
architectural)
1. I see JDBCConfiguration appearing in EntityManagerImpl. This is not a
welcome sign. Considerable effort has gone in throughout this codebase to
maintain architectural layerering so that EntityManager/Facade does not know
the nature of the Store. In fact, I thought maven build prohibits package
import via dependencies to enforce such layering restriction.
Anyway, the short point is: if EntityManagerImpl has to refer to
JDBCConfiguration then something else is amiss. It also violates one of the
basic architectural principles.
2. Going by the code further, I think many of the new processing added to
EntityManagerImpl actually belongs somewhere else. Most probabaly in
appropriate FetchConfiguration implementation.
3. The setFetchConfigProperty() calls in a loop
configuration.getPropertyKeys()
Please note that given this is a costly operation and in the returned value
is not going to change across the loop, it makes sense to compute it once
before entering the loop.
4. I also completely missed the point that why one will require to instantiate
IntValue in such a place. The purpose there looked like to populate an instance
of FetchConfiguration from the user supplied map and then push that onto the
stack. Why will one require conf.IntValue to do that is not clear to me at all.
5. FetchConfiguration seemed to be pushed in a loop.That will amount to
multiple clones in the stack -- that is *not* what is wanted -- the user
properties should poulate one single instance of FetchConfiguration and that
should be pished into the stack. What will happen by this code (perhaps,
reading always can be faulty) is user property will land up in different fetch
config instances.
> JPA2 LockTypeMode Support
> -------------------------
>
> Key: OPENJPA-891
> URL: https://issues.apache.org/jira/browse/OPENJPA-891
> Project: OpenJPA
> Issue Type: Sub-task
> Components: jpa
> Affects Versions: 2.0.0
> Reporter: Albert Lee
> Assignee: Albert Lee
> Fix For: 2.0.0
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.