[
https://issues.apache.org/jira/browse/OPENJPA-2533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Heath Thomann closed OPENJPA-2533.
----------------------------------
Resolution: Fixed
Fix Version/s: 2.4.0
2.2.3
> Table name defined in XML mapping file is not used when executing a named
> query.
> --------------------------------------------------------------------------------
>
> Key: OPENJPA-2533
> URL: https://issues.apache.org/jira/browse/OPENJPA-2533
> Project: OpenJPA
> Issue Type: Bug
> Components: query
> Affects Versions: 2.2.2, 2.3.0, 2.4.0
> Reporter: Heath Thomann
> Assignee: Rick Curtis
> Priority: Critical
> Fix For: 2.2.3, 2.4.0
>
> Attachments: OPENJPA-2533-2.2.x.test
>
>
> Take this simple entity:
> @Entity
> @javax.persistence.NamedQuery(name = "TableNameInXmlEntity.findAll", query =
> "SELECT t FROM TableNameInXmlEntity t")
> public class TableNameInXmlEntity implements Serializable {
> @Id
> private int myid;
> .......
> Take this simple XML mapping entry:
> <entity-mappings..........
> <entity class="org.apache.openjpa.persistence.xml.TableNameInXmlEntity">
> <table name="TableNameInXml"/>
> </entity>
> </entity-mappings>
> With this code, take the following test to execute the named query:
> Query q = em.createNamedQuery("TableNameInXmlEntity.findAll");
> q.getResultList();
> The following SQL will be generated:
> SELECT t0.myid FROM TableNameInXmlEntity t0
> Notice that 'TableNameInXmlEntity' is used, rather than 'TableNameInXml'
> (i.e. the name defined in the XML mapping file).
> Rather than executing a named query, if we execute a query like the following:
> Query q = em.createQuery("SELECT t FROM TableNameInXmlEntity t");
> q.getResultList();
> The following (correct) SQL will be executed:
> SELECT t0.myid FROM TableNameInXml t0
> Finally, if we executed the above query, and THEN execute the named query,
> all will work as expected.
> I have a test I'll upload shortly which recreates the issue.
> Thanks,
> Heath
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)