Issue Details (XML | Word | Printable)

Key: OPENJPA-142
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Marc Prud'hommeaux
Votes: 0
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
OpenJPA

Entity name is ignored when specified in the orm.xml file

Created: 13/Feb/07 07:58 AM   Updated: 10/Mar/07 11:18 AM
Return to search
Component/s: jpa
Affects Version/s: 0.9.0, 0.9.6
Fix Version/s: 0.9.7

Time Tracking:
Not Specified

File Attachments:
  Size
Zip Archive Licensed for inclusion in ASF works Tests-JPA-1.zip 2007-02-23 10:53 AM Ephemeris Lappis 20 kB

Resolution Date: 10/Mar/07 11:15 AM


 Description  « Hide
The XMLPersistenceMetaDataParser ignores the "name" attriburte of an "entity" element, and instead always uses the default alias. For example, with the following declaration in the orm.xml file:

   <entity name="Foo" class="mypackage.Bar">

the entity will be aliased to "Bar", rather than to "Foo".

Original report by Dain Sundstrom on the open-jpa-dev mailing list:

I'm using 0.9.6 and it appears the OpenJPA is ignoring the entity name when processing queries. In stead it seems to always choose the class name for the schema name of the bean. For example, I have the following bean declared in my entity mappings:

    <entity name="BasicCmp2Bean" class="org.apache.openejb.test.entity.cmp.BasicCmp2Bean_BasicCmp2Bean">
        <description>BasicCmp2Bean</description>
        <attributes>
            <id name="id"/>
            <basic name="firstName"/>
            <basic name="lastName"/>
        </attributes>
    </entity>


The following query does not work:

        SELECT o FROM BasicCmp2Bean o WHERE o.lastName = ?1

But this one does:

        SELECT o FROM BasicCmp2Bean_BasicCmp2Bean o WHERE o.lastName = ?1

When the query fails, I get this message (reformatted a bit with ** added to important entries):

ERROR - The bean instances business method encountered a system exception: Could not locate metadata for the class using alias "BasicCmp2Bean". Registered alias mappings: "{
AllowedOperationsCmp2Bean_AOBasicCmp2Bean=
  [class org.apache.openejb.test.entity.cmp.AllowedOperationsCmp2Bean_AOBasicCmp2Bean],
AllowedOperationsCmpBean=
  [class org.apache.openejb.test.entity.cmp.AllowedOperationsCmpBean],
ContextLookupCmpBean=
  [class org.apache.openejb.test.entity.cmp.ContextLookupCmpBean],
Employee=
  [class org.apache.openejb.test.entity.cmp2.Employee],
ManyOwningSideBean_ManyOwningSideBean=
  [class org.apache.openejb.test.entity.cmr.cmrmapping.ManyOwningSideBean_ManyOwningSideBean],
**BasicCmp2Bean_BasicCmp2Bean=
  [class org.apache.openejb.test.entity.cmp.BasicCmp2Bean_BasicCmp2Bean],
EncCmpBean=
  [class org.apache.openejb.test.entity.cmp.EncCmpBean],
BBean_OneToOneB=
  [class org.apache.openejb.test.entity.cmr.onetoone.BBean_OneToOneB],
OneOwningSideBean_OneOwningSideBean=
  [class org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBean_OneOwningSideBean],
ABean_OneToOneA=
  [class org.apache.openejb.test.entity.cmr.onetoone.ABean_OneToOneA],
**BasicCmp2Bean=null,
RmiIiopCmpBean=
  [class org.apache.openejb.test.entity.cmp.RmiIiopCmpBean],
ABean_OneToManyA=
  [class org.apache.openejb.test.entity.cmr.onetomany.ABean_OneToManyA],
OneInverseSideBean_OneInverseSideBean=
  [class org.apache.openejb.test.entity.cmr.cmrmapping.OneInverseSideBean_OneInverseSideBean],
BBean_OneToManyB=
  [class org.apache.openejb.test.entity.cmr.onetomany.BBean_OneToManyB],
RmiIiopCmp2Bean_Cmp2_RMI_IIOP_Bean=
  [class org.apache.openejb.test.entity.cmp.RmiIiopCmp2Bean_Cmp2_RMI_IIOP_Bean],
EncCmp2Bean_EncCmp2Bean=
  [class org.apache.openejb.test.entity.cmp.EncCmp2Bean_EncCmp2Bean],
BasicCmpBean=
  [class org.apache.openejb.test.entity.cmp.BasicCmpBean]}"



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #508133 Thu Feb 15 20:39:14 UTC 2007 dain Added CMP1 generator which simply generates an empty subclass; subclasses are used to differentiate cmp beans that have the same ejb-class
Cmp implementation class is now named "openejb.${ejbClass.package}.${abstractSchemaName}"
Currently a subclass is always generated due to OPENJPA-142
Queries are now declared in the jpa mapping file so the jpa implementation can preprocess the queries
Queries are named ${deploymentId}.${methodName}(${paramType[0]},(${paramType[1]}...) or without parenthesis if parameters are not specified
Added org.apache.openejb.core.transaction.TransactionRolledbackException which is a simple subclass of TransactionRolledbackException that supports initCause
Split AutoConfigAndDeploy into AutoConfig and AutoDeploy so deploymentInfo is available in converters
Added sun conversion
Files Changed
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityBeanInfo.java
DEL /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetoone/ExampleBBean_JPA.java
DEL /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/cmrmapping/ManyOwningSideBean_JPA.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-example1.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetoone/simplepk/unidirectional-orm.xml
MODIFY /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/AttributeOverride.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetomany/simplepk/many-unidirectional-orm.xml
ADD /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/package-info.java
DEL /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfigAndDeploy.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/itest-2.2/itest-2.2-orm.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/META-INF/jpa-test-mappings.xml
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/cmp2/Cmp1Generator.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
MODIFY /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/jpa.mapping.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/Column.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityInstanceManager.java
MODIFY /incubator/openejb/trunk/openejb3/pom.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/daytrader/daytrader-orm.xml
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetoone/simplepk/sun-cmp-mappings.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionPolicy.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetoone/simplepk/unidirectional-sun-cmp-mappings.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/Basic.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/OpenEjb2CmpConversionTest.java (from /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/CmpConversionTest.java)
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/BasicCmpBean_Subclass.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/Entity.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetoone/simplepk/orm.xml
MODIFY /incubator/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/HsqldbTestDatabase.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetomany/simplepk/orm.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/cmp2/CmrField.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/JaxbSun.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/itest-2.2/itest-2.2-sun-cmp-mappings.xml
DEL /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/cmrmapping/OneOwningSideBean_JPA.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulInstanceManager.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/containers/castor_cmp11/CastorCmpEngine.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpEngine.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetomany/simplepk/one-unidirectional-sun-cmp-mappings.xml
DEL /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetomany/ExampleABean_JPA.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
ADD /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/cmrmapping/OneInverseSideBean_OneInverseSideBean.java (from /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/cmrmapping/OneInverseSideBean_JPA.java)
ADD /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/Mapping.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionRolledbackException.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb3/EjbDeployment.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/JpaTest.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/Transient.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/itest-2.2/itest-2.2-openejb-jar.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarUtils.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/SunQueryFilterTest.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/JpaTestObject.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetoone/ExampleBBean_BBean.java (from /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetoone/ExampleBBean_JPA.java)
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/GeneratedValue.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetoone/ExampleABean_ABean.java (from /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetoone/ExampleABean_JPA.java)
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/manytomany/simplepk/unidirectional-sun-cmp-mappings.xml
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/itest-2.2/itest-2.2-sun-ejb-jar.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/itest-2.2/itest-2.2-ejb-jar.xml
MODIFY /incubator/openejb/trunk/openejb3/assembly/openejb-itests-webapp/src/main/webapp/META-INF/log4j.properties
DEL /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/cmrmapping/OneInverseSideBean_JPA.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/cmp2/Cmp2Generator.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/Field.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/manytomany/simplepk/orm.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/jpa/JpaCmpEngine.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/manytomany/simplepk/unidirectional-orm.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/CmpJpaConversion.java
DEL /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetomany/ExampleBBean_JPA.java
ADD /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/cmrmapping/ManyOwningSideBean_ManyOwningSideBean.java (from /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/cmrmapping/ManyOwningSideBean_JPA.java)
DEL /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetoone/ExampleABean_JPA.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/package-info.java
DEL /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/CmpConversionTest.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetomany/ExampleBBean_BBean.java (from /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetomany/ExampleBBean_JPA.java)
MODIFY /incubator/openejb/trunk/openejb3/itests/openejb-itests-client/src/main/java/org/apache/openejb/test/entity/cmp2/Cmp2HomeIntfcTests.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetomany/ExampleABean_ABean.java (from /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/test/entity/cmr/onetomany/ExampleABean_JPA.java)
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetomany/simplepk/one-unidirectional-orm.xml
ADD /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/cmrmapping/OneOwningSideBean_OneOwningSideBean.java (from /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/cmrmapping/OneOwningSideBean_JPA.java)
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/SunCmpConversionTest.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeploy.java (from /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfigAndDeploy.java)
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/manytomany/simplepk/sun-cmp-mappings.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/Id.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/CmpJarBuilder.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetomany/simplepk/sun-cmp-mappings.xml
MODIFY /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/persistence.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/OpenEjb2CmpConversion.java
MODIFY /incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/openejb-jar.xml
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java
MODIFY /incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/MappedSuperclass.java
ADD /incubator/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/cmp/onetomany/simplepk/many-unidirectional-sun-cmp-mappings.xml

Repository Revision Date User Message
ASF #516682 Sat Mar 10 11:14:44 UTC 2007 pcl OPENJPA-142: read entity names specified in XML. Also added comment clarifying that ClassMetaData.setTypeAlias() is only used at enhance time.
Files Changed
MODIFY /incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java
ADD /incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml
ADD /incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/SimpleXmlEntity.java
ADD /incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestSimpleXmlEntity.java
MODIFY /incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/META-INF/persistence.xml
MODIFY /incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
ADD /incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/xml
ADD /incubator/openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/xml/orm.xml