One possibility is to migrate to JPA using Hibernate, then once
everything is in JPA, switch to Cayenne/OpenJPA/TopLink Essentials.

Note that Cayenne's JPA support is still incomplete at the moment, but
is getting better every day thanks to Andrus.

On 10/25/07, Gilberto C Andrade <[EMAIL PROTECTED]> wrote:
> Andrus Adamchik wrote:
> > Hi Gilberto,
> >
> > There's no automated way port a Hibernate project to Cayenne, but you
> But, I can map those pojos to jpa config file by hand, can't I?
> > can certainly do that manually. I would suggest to use Cayenne
>
> Sorry, I should have mentioned that we will use those new
> technology(POJO/JPA/JSF) - Stay with the standard, says my boss.
>
> > traditional non-POJO API (while POJO/JPA stuff is still pre-alpha,
> > Cayenne API is production quality and has fewer surprises).
> Don't worry, these projects are a little big and we will have some good
> time to put them on production. And my boss has decided to go with
> POJO/JPA/JSF (So, I can't always win :)).
>
> So, this is a good chance to help cayenne. Or are you suggesting another
> one (OpenJPA, Hibernate, TopLink, etc).
>
> Anyway, thanks for you attention!
>
> Gilberto
> >
> > The quickest way to do that is probably the following:
> >
> > * reverse engineer the DB in question with CayenneModeler
> > * manually tweak the model to match the property names in the existing
> > POJO Java classes
> > * Run class generator to generate the _Xyz superclasses.
> > * Change the existing classes by hand to inherit from _Xyz counterpart.
> > * Remove existing persistence fields, and use superclass getters and
> > setters to access them.
> > * Change the API throughout the code to use Cayenne ObjectContext and
> > Queries.
> >
> > Andrus
> >
> >
> > On Oct 24, 2007, at 10:17 PM, Gilberto C Andrade wrote:
> >
> >> [This is second email I send, I think the first one get lost]
> >> Hi all,
> >>
> >> I've been searching on docs/maillist about how to persist an already
> >> existent pojo, but have no luck. Let me explain: we have two old
> >> projects build with hibernate 2.1.8 and all model are marked with
> >> hibernate tag on doc area in java source [1].
> >> But now we want to use those models with cayenne (3.0M1) without edit
> >> them. Is that possible?
> >>
> >>
> >> These systems included the business and data access in the same place.
> >> So turning it impossible to change the domain logic. By the way, someone
> >> can suggest a good design separation of package?
> >> We are now trying this:
> >> br.to.gov.secad.<module>.model;
> >> br.to.gov.secad.<module>.dao;
> >> br.to.gov.secad.<module>.service;
> >>
> >>
> >> Thanks!
> >>
> >> Gilberto
> >>
> >> PS.: I think we won the battle about ORM choice. Now comes the new one:
> >> beat the eclipse hibernate tools! Thanks all for help!
> >>
> >> [1]
> >> [code]
> >> /**
> >>  *  Área de atuação do curso: informática, RH, financeira, etc.
> >>  *  @hibernate.class table="scc.scc_area"
> >> */
> >> public class Area implements Serializable {
> >>
> >>     /** identifier field */
> >>     private Integer cdArea;
> >>
> >>     /** persistent field */
> >>     private String dcArea;
> >>
> >>     /** full constructor */
> >>     public Area(Integer cdArea, String dcArea) {
> >>         this.cdArea = cdArea;
> >>         this.dcArea = dcArea;
> >>     }
> >>
> >>     /** default constructor */
> >>     public Area() {
> >>     }
> >>
> >>     /**
> >>      * @hibernate.id generator-class="sequence" column="cdarea"
> >> unsaved-value = "null"
> >>      * @hibernate.generator-param name = "sequence" value =
> >> "scc.scc_area_sequence"
> >>      * @return Integer
> >>      */
> >>     public Integer getCdArea() {
> >>         return this.cdArea;
> >>     }
> >>
> >>     public void setCdArea(Integer cdarea) {
> >>         this.cdArea = cdarea;
> >>     }
> >>
> >>     /**
> >>      *   @hibernate.property column="dcarea" length="40" not-null="true"
> >>      *
> >>      */
> >>     public String getDcArea() {
> >>         return this.dcArea;
> >>     }
> >> [/code]
> >>
> >
> >
>
>
>

Reply via email to