I just wanted to share a quick update on my progresses. I am happy to report that –with some help from home (THANKS Andrus!!)– I was able to compile the application using Bootique 4.0-M1, and its matching Cayenne version, 5.0-M1. I am not ready to share the effort yet (but I will make it public, eventually), as I am also radically refactoring the structure of the repository, moving from a mono-repo, to a plethora of smaller repositories (retaining the full history, thanks to `git-filter-repo`). But I haven't run the application yet, though, as I am still working on restoring the tests, before connecting it to the actual DB.
Off to leverage Cayenne multi-db model support, an DB creation (for tests). Cheers, Giulio Cesare On Sat, Nov 8, 2025 at 3:11 PM [email protected] <[email protected]> wrote: > > One mystery solved: the issue with the SelfProperty was caused by the > involuntary inclusion of an older version of Cayenne by Bootique. > Now I need to find a way to import back Bootique selecting the correct > packages, but being now aware of the issue, I hope I will not get > bitten by it again. 🤞 > > Giulio Cesare > > On Sun, Nov 2, 2025 at 9:16 PM [email protected] > <[email protected]> wrote: > > > > 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 > > > >>>>>> > > > >>>>
