258701 - [EclipseLink] persistence.xml transaction-type is not being read correctly
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnit.java
index 62e1995..1a52f4d 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnit.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/AbstractPersistenceUnit.java
@@ -710,11 +710,20 @@
/**
* Concrete subclass must call this in the constructor, not called here
*/
+ //be careful changing the order of this method, bug 258701 is one reason.
protected void initialize(XmlPersistenceUnit xpu) {
this.xmlPersistenceUnit = xpu;
this.name = xpu.getName();
-
+ this.specifiedExcludeUnlistedClasses = xpu.getExcludeUnlistedClasses();
+ this.specifiedTransactionType = specifiedTransactionType(xpu);
+ this.defaultTransactionType = defaultTransacationType();
+ this.description = xpu.getDescription();
+ this.provider = xpu.getProvider();
+ this.jtaDataSource = xpu.getJtaDataSource();
+ this.nonJtaDataSource = xpu.getNonJtaDataSource();
+ this.specifiedExcludeUnlistedClasses = xpu.getExcludeUnlistedClasses();
initializeProperties(xpu);
+
//initialize specified classRefs before mappingFileRefs because of
//JpaFile rootStructureNode, we want the mapping file to "win",
//as it would in a Jpa runtime implementation
@@ -724,14 +733,6 @@
//specified classRefs and mappingFileRefs
initializeImpliedClassRefs(xpu);
initializePersistenceUnitDefaults();
- this.specifiedExcludeUnlistedClasses = xpu.getExcludeUnlistedClasses();
- this.specifiedTransactionType = specifiedTransactionType(xpu);
- this.defaultTransactionType = defaultTransacationType();
- this.description = xpu.getDescription();
- this.provider = xpu.getProvider();
- this.jtaDataSource = xpu.getJtaDataSource();
- this.nonJtaDataSource = xpu.getNonJtaDataSource();
- this.specifiedExcludeUnlistedClasses = xpu.getExcludeUnlistedClasses();
}
protected void initializeMappingFileRefs(XmlPersistenceUnit xpu) {