You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Randy Leonard <ra...@hotmail.com> on 2007/03/06 20:35:07 UTC

Cayenne Classic vs. Cayenne JPA

I've read some earlier threads on Cayenne 3.0, and have a few questions:

- Is Cayenne 3.0 Classic significantly different from Cayenne 2.x?
- Could JPA modelling tools (e.g. Eclipse Dali, etc.) be used in place of 
Cayenne Modeller?
- Are there Cayenne functionalities available to Classic, but not JPA 
version?


Also, I posted a thread last July concerning multiple models in one 
application:
  
http://mail-archives.apache.org/mod_mbox/cayenne-dev/200607.mbox/%3cDE5966B5-0FDE-436A-89E2-CE42A9F3CE29@objectstyle.org%3e

Two questions on this:
- Curious if Cayenne 3 would support this?
- If not, would the custom solution described still apply to Cayenne 3?

Thanks,
Randy



Re: Cayenne Classic vs. Cayenne JPA

Posted by Andrus Adamchik <an...@objectstyle.org>.
On Mar 7, 2007, at 3:04 PM, Randy Leonard wrote:

> I would hope the industry provides vanilla JPA modelling tools,  
> with the possibilty of provider-specific tool-extensions

I would hope so.

> to add provider-specific annotations.

JPA deals with some of that already:

* Query extensions can be passed using JPA annotation QueryHint.
* Provider properties can be passed in the code using  
"javax.persistence.Persistence.createEntityManagerFactory(String, Map)".

Andrus


Re: Cayenne Classic vs. Cayenne JPA

Posted by Andrus Adamchik <an...@objectstyle.org>.
On Mar 7, 2007, at 3:04 PM, Randy Leonard wrote:

> But note JPA tools likely store all model data in annotations

Not necessarily. JPA supports any combination of XML and annotations.  
It is up to the user how to do the mapping.

Andrus


Re: Cayenne Classic vs. Cayenne JPA

Posted by Randy Leonard <ra...@hotmail.com>.
I am now on the user list...

>Generally yes, as JPA mapping is presumably provider-agnostic.
I haven't used Dali (or other JPA tools yet), but one motivation for doing 
so would be to gain access to UML round-tripping... where changes in a class 
diagram are reflected in the model, and vice versa.  For example, Poseidon's 
Apollo for Eclipse tool allows UML rendering of Cayenne's classes, but 
changes in the UML are not reflected as metadata in the model (e.g. Java 
code).  I hope JPA tools would solve this.

But note JPA tools likely store all model data in annotations, but Cayenne 
does not (e.g. cayenne.xml)... is this a true statement?

I would hope the industry provides vanilla JPA modelling tools, with the 
possibilty of provider-specific tool-extensions to add provider-specific 
annotations.  In this way, the Cayenne community could provide such 
extensions to Dali and/or other tools.  In theory, a Cayenne tool could then 
generate the cayenne.xml file from both JPA and Cayenne annotations (or use 
instrumentation to obsolete cayenne.xml?)

Does this make sense?  And if so, could Cayenne-specific annotations 
replicate cayenne.xml metadata in the future?

I'll jump over to the Dali newsgroup, as well, to ask if any of this makes 
sense from their perspective.

Thanks,
Randy


>From: Andrus Adamchik <an...@objectstyle.org>
>To: user@cayenne.apache.org
>CC: Randy Leonard <ra...@hotmail.com>
>Subject: Re: Cayenne Classic vs. Cayenne JPA
>Date: Wed, 7 Mar 2007 12:41:52 +0200
>
>(This thread has been duplicated on the dev list, see Ari's reply  [1]. 
>Also Randy doesn't seem to be a user list subscriber, so I am  cc'ying to 
>him)
>
>>- Are there Cayenne functionalities available to Classic, but not  JPA 
>>version?
>
>Both will be using the same stack. The principal difference is the  level 
>of access to that stack. JPA hides it completely. Cayenne  allows stack 
>access from Java code. Actually Cayenne JPA will have a  non-standard way 
>to expose the stack to the apps. Also I hope we'll  provide access to most 
>"classic" features in a JPA-compliant manner -  via provider extensions 
>(see below).
>
>>- Could JPA modelling tools (e.g. Eclipse Dali, etc.) be used in  place of 
>>Cayenne Modeller?
>
>Generally yes, as JPA mapping is presumably provider-agnostic.
>
>One issue with third party tools (I haven't looked at any yet, so  that's 
>purely my speculation), is that there won't be UI support for  
>provider-specific features. E.g. Cayenne provider allows to map a non- JTA 
>DataSource, kind of like Cayenne Classic does, same for  SQLTemplate and 
>SelectQuery. You'll be able to map these extensions  via provider 
>properties, but you'll have to know the right property  names.
>
>Andrus
>
>
>[1] http://objectstyle.org/cayenne/lists/cayenne-devel/2007/03/0022.html
>
>
>On Mar 6, 2007, at 9:35 PM, Randy Leonard wrote:
>
>>I've read some earlier threads on Cayenne 3.0, and have a few  questions:
>>
>>- Is Cayenne 3.0 Classic significantly different from Cayenne 2.x?
>>- Could JPA modelling tools (e.g. Eclipse Dali, etc.) be used in  place of 
>>Cayenne Modeller?
>>- Are there Cayenne functionalities available to Classic, but not  JPA 
>>version?
>>
>>
>>Also, I posted a thread last July concerning multiple models in one  
>>application:
>>  http://mail-archives.apache.org/mod_mbox/cayenne-dev/200607.mbox/% 
>>3cDE5966B5-0FDE-436A-89E2-CE42A9F3CE29@objectstyle.org%3e
>>
>>Two questions on this:
>>- Curious if Cayenne 3 would support this?
>>- If not, would the custom solution described still apply to  Cayenne 3?
>>
>>Thanks,
>>Randy
>>
>



Re: Cayenne Classic vs. Cayenne JPA

Posted by Andrus Adamchik <an...@objectstyle.org>.
(This thread has been duplicated on the dev list, see Ari's reply  
[1]. Also Randy doesn't seem to be a user list subscriber, so I am  
cc'ying to him)

> - Are there Cayenne functionalities available to Classic, but not  
> JPA version?

Both will be using the same stack. The principal difference is the  
level of access to that stack. JPA hides it completely. Cayenne  
allows stack access from Java code. Actually Cayenne JPA will have a  
non-standard way to expose the stack to the apps. Also I hope we'll  
provide access to most "classic" features in a JPA-compliant manner -  
via provider extensions (see below).

> - Could JPA modelling tools (e.g. Eclipse Dali, etc.) be used in  
> place of Cayenne Modeller?

Generally yes, as JPA mapping is presumably provider-agnostic.

One issue with third party tools (I haven't looked at any yet, so  
that's purely my speculation), is that there won't be UI support for  
provider-specific features. E.g. Cayenne provider allows to map a non- 
JTA DataSource, kind of like Cayenne Classic does, same for  
SQLTemplate and SelectQuery. You'll be able to map these extensions  
via provider properties, but you'll have to know the right property  
names.

Andrus


[1] http://objectstyle.org/cayenne/lists/cayenne-devel/2007/03/0022.html


On Mar 6, 2007, at 9:35 PM, Randy Leonard wrote:

> I've read some earlier threads on Cayenne 3.0, and have a few  
> questions:
>
> - Is Cayenne 3.0 Classic significantly different from Cayenne 2.x?
> - Could JPA modelling tools (e.g. Eclipse Dali, etc.) be used in  
> place of Cayenne Modeller?
> - Are there Cayenne functionalities available to Classic, but not  
> JPA version?
>
>
> Also, I posted a thread last July concerning multiple models in one  
> application:
>  http://mail-archives.apache.org/mod_mbox/cayenne-dev/200607.mbox/% 
> 3cDE5966B5-0FDE-436A-89E2-CE42A9F3CE29@objectstyle.org%3e
>
> Two questions on this:
> - Curious if Cayenne 3 would support this?
> - If not, would the custom solution described still apply to  
> Cayenne 3?
>
> Thanks,
> Randy
>