A small update; I am using Cayenne 5.0-M1, but something is going
wrong with the generated base classes.
I have this Maven plugin configured to generate the base classes:
            <plugin>
                <groupId>org.apache.cayenne.plugins</groupId>
                <artifactId>cayenne-maven-plugin</artifactId>
                <version>5.0-M1</version>

Base classes are generated, but they all fail to compile with two
types of errors:
- this line of code
     public static final SelfProperty<Attachment> SELF =
PropertyFactory.createSelf(Attachment.class);
  fails with the error:
    incompatible types: no instance(s) of type variable(s) T exist so
that org.apache.cayenne.exp.property.EntityProperty<T> conforms to
org.apache.cayenne.exp.property.SelfProperty<com.clipperz.dataModel.Attachment>

- all properties implementation fail using either the
`beforePropertyRead`, `beforePropertyWrite`, `addToManyTarget`,
`removeToManyTarget`, …

The model, opened with the matching version of Cayenne Modeler, does
not report any issues.

What am I missing?
Not sure if this is relevant, but as I am already on the leading edge,
I am also compiling everything with Java 25.

Thanks,
Giulio Cesare


On Tue, Oct 28, 2025 at 5:01 AM Ricardo Parada <[email protected]> wrote:
>
> Hi Giulio,
>
> I’m interested to see how it goes. Please report back if you can.
>
> I’ve been playing with 5.0-M1.
>
>
> Thank you
> Ricardo Parada
>
>
>
> > On Oct 26, 2025, at 3:22 PM, [email protected] wrote:
> >
> > I just got back to my project, trying to finalize the upgrade, and I
> > find out there is a brand new version of Cayenne available.
> > I am going to try to jump directly from 3.0.2 to 5.0-M1. 🎢
> > Wish me luck! 🤹
> >
> > Giulio Cesare
> >
> >> On Sat, Oct 4, 2025 at 10:29 AM [email protected]
> >> <[email protected]> wrote:
> >>
> >> Thanks Michael,
> >> I now need to find how to rewire what I was previously doing mostly
> >> using the org.apache.cayenne.conf package.
> >> I suppose this is part of the friction I'll have to go through to get
> >> a plain Jar (with Jetty).
> >>
> >> Thanks for the pointer.
> >>
> >> Giulio Cesare
> >>
> >>> On Wed, Oct 1, 2025 at 9:16 PM Michael Gentry <[email protected]> wrote:
> >>>
> >>> Hi Giulio,
> >>>
> >>> In 4.2, you get the ObjectContext from the Cayenne Runtime:
> >>>
> >>> https://cayenne.apache.org/docs/4.2/getting-started-guide/#getting-started-with-objectcontext
> >>>
> >>> mrg
> >>>
> >>> On Wed, Oct 1, 2025 at 5:23 AM [email protected] <
> >>> [email protected]> wrote:
> >>>
> >>>> Hello,
> >>>> I have been able to fix almost all the warnings and errors.
> >>>> I have to points that I am not able to fix, though:
> >>>> - I was still using DataContext (instead of ObjectContext); is this
> >>>> still a useful class? Otherwise, how do I create a DataContext, as
> >>>> `DataContext.createDataContext();` is not defined
> >>>> - how do I replace the use of ServletUtil.initializeSharedConfiguration?
> >>>>
> >>>> Thanks,
> >>>> Giulio Cesare
> >>>>
> >>>> On Tue, Sep 30, 2025 at 3:50 PM [email protected]
> >>>> <[email protected]> wrote:
> >>>>>
> >>>>> Thanks Andrus!
> >>>>>
> >>>>> I'll report on any progress with my upgrade.
> >>>>>
> >>>>> Giulio Cesare
> >>>>>
> >>>>> On Tue, Sep 30, 2025 at 2:26 PM Andrus Adamchik <[email protected]>
> >>>> wrote:
> >>>>>>
> >>>>>> Hi Giulio,
> >>>>>>
> >>>>>> SelectQuery is replaced with ObjectSelect. But in your case (a query
> >>>> modeled in the DataMap), you would actually use something else - a
> >>>> MappedSelect query per
> >>>> https://cayenne.apache.org/docs/4.2/cayenne-guide/#mappedselect-and-mappedexec
> >>>>>>
> >>>>>> MappedSelect.query("attachment", Attachment.class)
> >>>>>>    .param("reference", aReference)
> >>>>>>    .param("user", anUser)
> >>>>>>    .select(context);
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Andrus
> >>>>>>
> >>>>>>
> >>>>>>> On Sep 30, 2025, at 3:15 AM, [email protected] wrote:
> >>>>>>>
> >>>>>>> Hello everybody,
> >>>>>>>
> >>>>>>> even if this will force me to admit how old I am, I still have some
> >>>>>>> Cayenne 3.0.2 code happily running in production with no issues.
> >>>>>>>
> >>>>>>> Lately I was trying to upgrade the application from a WAR (running in
> >>>>>>> Tomcat) to a standalone application exposing the servlets via Jetty,
> >>>>>>> in order to make the application easier to deploy in a docker
> >>>>>>> container.
> >>>>>>>
> >>>>>>> After some struggle to update the model, I am now facing a LOT of
> >>>>>>> deprecation warnings like this:
> >>>>>>>> [deprecation] SelectQuery in org.apache.cayenne.query has been
> >>>> deprecated
> >>>>>>>
> >>>>>>> The code I have looks like this:
> >>>>>>> -------------------
> >>>>>>> prototypeQuery =
> >>>>>>>
> >>>> (SelectQuery)dataContext.getEntityResolver().lookupQuery("attachment");
> >>>>>>>
> >>>>>>> parameters = new HashMap();
> >>>>>>> parameters.put("reference", aReference);
> >>>>>>> parameters.put("user", anUser);
> >>>>>>> query = prototypeQuery.queryWithParameters(parameters);
> >>>>>>>
> >>>>>>> result = (List<Attachment>)dataContext.performQuery(query);
> >>>>>>> -------------------
> >>>>>>>
> >>>>>>> Unfortunately I never had the opportunity to use any newer version of
> >>>>>>> Cayenne, so I haven't followed along with all the changes that it has
> >>>>>>> gone through.
> >>>>>>>
> >>>>>>> Is there anyone willing to suggest me what the above code snippet
> >>>>>>> would look like with the new version of Cayenne?
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>>
> >>>>>>> Giulio Cesare
> >>>>>>
> >>>>

Reply via email to