Hi! the method sortDbEntities of our EntitySorter is not invoked with 4.2.
We register the EntitySorter in this way: public class DataloyOracleModule implements Module { @Inject AdhocObjectFactory objFac; @Override public void configure(Binder binder) { ServerModule.contributeAdapterDetectors(binder).add(new DataloyOracleSniffer()); ServerModule.useExternalTransactions(binder, true); binder.bind(EntitySorter.class).to(DataloyEntitySorter.class).withoutScope(); binder.bind(PkGenerator.class).to(DataloyPkGenerator.class); binder.bind(BatchTranslatorFactory.class).to(DataloyQueryBuilderFactory.class); } } On 2020/06/29 11:17:34, Andrea Biasillo <a...@dataloy.com> wrote: > Hi Andrus! > > I think the problem is related to our EntitySorter implementation. Something > has been changed in 4.2 with EntitySorter. > > Many regards, > Andrea > > On 2020/06/29 09:45:03, Andrea Biasillo <a...@dataloy.com> wrote: > > Hi Andrus! > > > > I will provide the code soon as possible. > > > > Many thanks > > > > On 2020/06/29 09:23:27, Andrus Adamchik <and...@objectstyle.org> wrote: > > > Could you send a Cayenne query example where this happens? > > > > > > Andrus > > > > > > > > > > On Jun 29, 2020, at 12:20 PM, Andrea Biasillo <a...@dataloy.com> wrote: > > > > > > > > Hi Andrus! > > > > > > > > I think our DataloyOracleAdapter is in use, at startup in the Wildfly > > > > log we get this: > > > > > > > > [org.apache.cayenne.log.JdbcEventLogger] (ServerService Thread Pool -- > > > > 87) Detected and installed adapter: > > > > com.dataloy.platform.DataloyOracleAdapter > > > > > > > > Also another thing is the the method setJdbcObject is invoked, but not > > > > materializeObject > > > > > > > > Regards, > > > > Andrea > > > > > > > > On 2020/06/29 08:35:05, Andrus Adamchik <and...@objectstyle.org> wrote: > > > >> Here is another random idea - could you verify that your adapter is in > > > >> use? > > > >> > > > >> Andrus > > > >> > > > >>> On Jun 29, 2020, at 11:27 AM, Andrea Biasillo <a...@dataloy.com> > > > >>> wrote: > > > >>> > > > >>> Hi Andrus and thank you! > > > >>> > > > >>> I tried to override configureExtendedTypes but still the method > > > >>> materializeObject is not inoked. > > > >>> > > > >>> Regards, > > > >>> Andrea > > > >>> > > > >>> On 2020/06/29 08:19:15, Andrus Adamchik <and...@objectstyle.org> > > > >>> wrote: > > > >>>> Hi Andrea, > > > >>>> > > > >>>> "materializeObject" method should still be called of course. When > > > >>>> registering custom types within the adapter, I'd usually override > > > >>>> "configureExtendedTypes": > > > >>>> > > > >>>> @Override > > > >>>> protected void configureExtendedTypes(ExtendedTypeMap map) { > > > >>>> super.configureExtendedTypes(map); > > > >>>> map.registerType(new SourceIdType()); > > > >>>> } > > > >>>> > > > >>>> I suspect it might make a difference, considering somewhat > > > >>>> complicated type override rules in the adapter. > > > >>>> > > > >>>> Andrus > > > >>>> > > > >>>> > > > >>>>> On Jun 29, 2020, at 11:04 AM, Andrea Biasillo <a...@dataloy.com> > > > >>>>> wrote: > > > >>>>> > > > >>>>> Hi! > > > >>>>> > > > >>>>> We are migrating from 4.0.2 to 4.2. We have a class that implements > > > >>>>> ExtendedType. > > > >>>>> In 4.0.2 the method: > > > >>>>> > > > >>>>> public SourceId materializeObject(ResultSet rs, int index, int > > > >>>>> type) throws Exception > > > >>>>> > > > >>>>> was invoked, but not in 4.2. > > > >>>>> > > > >>>>> We register our class in this way: > > > >>>>> > > > >>>>> public class DataloyOracleAdapter extends OracleAdapter { > > > >>>>> > > > >>>>> public DataloyOracleAdapter(@Inject RuntimeProperties > > > >>>>> runtimeProperties, > > > >>>>> @Inject(Constants.SERVER_DEFAULT_TYPES_LIST) > > > >>>>> List<ExtendedType> defaultExtendedTypes, > > > >>>>> @Inject(Constants.SERVER_USER_TYPES_LIST) > > > >>>>> List<ExtendedType> userExtendedTypes, > > > >>>>> @Inject(Constants.SERVER_TYPE_FACTORIES_LIST) > > > >>>>> List<ExtendedTypeFactory> extendedTypeFactories, > > > >>>>> @Inject(Constants.SERVER_RESOURCE_LOCATOR) > > > >>>>> ResourceLocator resourceLocator, > > > >>>>> @Inject ValueObjectTypeRegistry > > > >>>>> valueObjectTypeRegistry) { > > > >>>>> super(runtimeProperties, defaultExtendedTypes, > > > >>>>> userExtendedTypes, extendedTypeFactories, resourceLocator, > > > >>>>> valueObjectTypeRegistry); > > > >>>>> setSupportsGeneratedKeys(false); > > > >>>>> //super.setPkGenerator(new DataloyPkGenerator()); > > > >>>>> > > > >>>>> setSupportsBatchUpdates(false); > > > >>>>> this.extendedTypes.registerType(new SourceIdType()); > > > >>>>> } > > > >>>>> > > > >>>>> > > > >>>>> } > > > >>>>> > > > >>>>> > > > >>>>> What is wrong? What should be changed? > > > >>>>> > > > >>>>> Many regards, > > > >>>>> Andrea > > > >>>> > > > >>>> > > > >> > > > >> > > > > > > > > >