camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: camel-bam, camel-jpa, camel-example-etl, ...& JPA fully qualified names
Date Wed, 09 Dec 2009 14:37:09 GMT
On Wed, Dec 9, 2009 at 3:26 PM, Charles Moulliard <cmoulliard@gmail.com> wrote:
> Not really
>
> The following part of the JPA consumer code by example will use the
> entityType defined at the endpoint and in consequence will generate the
> wrong sql query.
>
>    protected QueryFactory createQueryFactory() {
>        if (query != null) {
>            return QueryBuilder.query(query);
>        } else if (namedQuery != null) {
>            return QueryBuilder.namedQuery(namedQuery);
>        } else if (nativeQuery != null) {
>            return QueryBuilder.nativeQuery(nativeQuery);
>        } else {
>            Class<?> entityType = endpoint.getEntityType();
>            if (entityType == null) {
>                return null;
>            } else {
>                return QueryBuilder.query("select x from " +
> entityType.getName() + " x");
>            }
>        }
>    }
>

Try replacing entityType.getName() with entityType.getSimpleName() and
add those annotations that willem suggested with the same simple name.
Then I think it would NOT use the fully qual name.


> Regards,
>
> Charles Moulliard
> Senior Enterprise Architect
> Apache Camel Committer
>
> *****************************
> blog : http://cmoulliard.blogspot.com
> twitter : http://twitter.com/cmoulliard
> Linkedlin : http://www.linkedin.com/in/charlesmoulliard
>
> Apache Camel Group :
> http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
>
>
> On Wed, Dec 9, 2009 at 3:22 PM, Willem Jiang <willem.jiang@gmail.com> wrote:
>
>> Hi Charles,
>>
>> Does the Entity annotation do the trick ?
>> eg.
>>
>> @Entity(name="AtivityDefinitin")
>> public class ActivityDefinition {
>> ...
>> }
>>
>> Willem
>>
>>
>> Charles Moulliard wrote:
>>
>>> done : https://issues.apache.org/activemq/browse/CAMEL-2273
>>>
>>>
>>> Charles Moulliard
>>> Senior Enterprise Architect
>>> Apache Camel Committer
>>>
>>> *****************************
>>> blog : http://cmoulliard.blogspot.com
>>> twitter : http://twitter.com/cmoulliard
>>> Linkedlin : http://www.linkedin.com/in/charlesmoulliard
>>>
>>> Apache Camel Group :
>>> http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
>>>
>>>
>>> On Wed, Dec 9, 2009 at 2:59 PM, Claus Ibsen <claus.ibsen@gmail.com>
>>> wrote:
>>>
>>>  Hi Charles
>>>>
>>>> You are welcome to create a JIRA ticket and try to fix that issue.
>>>>
>>>> I guess you can find out how to change those JPA queries to NOT use
>>>> fully qual names but just the local name.
>>>>
>>>>
>>>> On Wed, Dec 9, 2009 at 2:49 PM, Charles Moulliard <cmoulliard@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'm stuck with the following problem. The following components :
>>>>> - camel-bam,
>>>>> - camel-jpa,
>>>>> - camel-example-etl,
>>>>> - ...
>>>>>
>>>>> have been designed with JPA specification 1.0 but our implementation
>>>>> uses
>>>>> Hibernate JPA. Unfortunately, Hibernate has added some extensions.
>>>>>
>>>>> A good example is the fully qualified name which is used by camel jpa
>>>>> consumer/producer or in all our select c from Customer.getClass.getName.
>>>>>
>>>>> The JPA specification does not support this
>>>>>
>>>>> *******
>>>>> 4.3.1 Naming
>>>>>
>>>>> Entities are designated in query strings by their entity names. The
>>>>> entity name is defined by the name
>>>>> element of the Entity annotation (or the entity-name XML descriptor
>>>>> element), and defaults to
>>>>> the unqualified name of the entity class. Entity names are scoped
>>>>> within the persistence unit and must be
>>>>> unique within the persistence unit.
>>>>> ******
>>>>>
>>>>> and in consequence, switching from Hibernate to EclipseLink JPA,
>>>>> OpenJPA,
>>>>> ... is not possible today.
>>>>>
>>>>> Any suggestion are welcome to identify the best approach to improve our
>>>>> components ?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Charles Moulliard
>>>>> Senior Enterprise Architect
>>>>> Apache Camel Committer
>>>>>
>>>>> *****************************
>>>>> blog : http://cmoulliard.blogspot.com
>>>>> twitter : http://twitter.com/cmoulliard
>>>>> Linkedlin : http://www.linkedin.com/in/charlesmoulliard
>>>>>
>>>>> Apache Camel Group :
>>>>> http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
>>>>>
>>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>>
>>>
>>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Mime
View raw message