Re: problem with ExtendedType in Cayenne 4.2
Andrea Biasillo <[email protected]>
| Newsgroups | gmane.comp.java.cayenne.user |
|---|---|
| Message-ID | <pony-eb26d4b97ed24d27e0f8f8afa0aa2a0ef7145fb7-fd19fefb0029a369c08d10a450d1fa34e77dfd43@user.cayenne.apache.org> |
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 <[email protected]> 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 <[email protected]> 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 > >