[ https://issues.apache.org/jira/browse/OPENJPA-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Patrick Linskey updated OPENJPA-9: ---------------------------------- Fix Version/s: 0.9.7 > PCEnhancer not processing multiple PU's defined within a single > persistence.xml file > ------------------------------------------------------------------------------------ > > Key: OPENJPA-9 > URL: https://issues.apache.org/jira/browse/OPENJPA-9 > Project: OpenJPA > Issue Type: Bug > Components: jpa > Reporter: Kevin Sutter > Fix For: 0.9.7 > > > From a discussion with Patrick on the dev mailing list... > ========================================================================= > Me: According to the JPA spec, we can define multiple persistence-units in a > single persistence.xml file. But, when I try to use this persistence.xml > file as input to the PCEnhancer, it is only processing the first > persistence-unit that is defined. I traced through the code and found that > this is the case. When the persistence.xml file is processed, a "null" name > is passed in for the desired persistence-unit (in the > ConfigurationProviderImpl.load method) and, thus, only the first one defined > is returned and used by the PCEnhancer. > Patrick: IMO, the correct behavior should be: > - PCEnhancer run with no arguments should load all the PUs in the > classpath, find the OpenJPA (or unspecified) PUs, and run against all > the classes defined by those PUs (including auto-scanning for PUs so > configured). > - The developer should not need to specify META-INF/persistence.xml when > invoking the PCEnhancer. > - We may want to provide a means to specify specific PUs to process. For > example: > java ...PCEnhancer -p META-INF/persistence.xml#foo > or maybe just > java ...PCEnhancer -p #foo > for shorthand. > Regardless, the current behavior seems wrong, and it seems that the best > initial change would be to make PCEnhancer load all the PUs (the first > bullet above), which means manually loading the META-INF/persistence.xml > resources and finding the ones that are OpenJPA PUs, rather than relying > on the javax.persistence.Persistence helper method to load them. > ========================================================================= > Writing this bug report so as not to lose track of this problem. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.