Deprecated API
Contents
-
Terminally Deprecated ElementsElementDescriptionif you are using thread context, you can create your own ThreadLocaluse
DataChannel.getDataDomain()on the channel returned byDataContext.getChannel()if you are using thread context, you can create your own ThreadLocaluseMappedExec.query(queryName).update(context)useMappedExec.query(queryName).params(parameters).update(context)useDataContext.execute(Query), orSQLExec.update(ObjectContext)/MappedExec.update(ObjectContext)for a query that produces a single update countuseMappedSelect.query(queryName).select(context), callingforceNoCache()on the query to expire cached listsuseMappedSelect.query(queryName).params(parameters).select(context), callingforceNoCache()on the query to expire cached listsunused and unneededuseDefaultDataRowStoreFactory.SNAPSHOT_CACHE_SIZE_DEFAULTunuseddoes nothingin favor ofOptimisticLockException.getStatement()unused; no SQL tree node appends a sub-range. Kept for binary compatibility, now delegating toSQLAppendable.append(String).in favor ofArrayUtil.appendTruncated(StringBuilder, byte[])unusedno longer registered by default. Replaced byLocalDateTimeType, which reads and writes the value directly via JDBC without ajava.sqlintermediary and the JVM time zone conversion that comes with it.no longer registered by default. Replaced byLocalDateType, which reads and writes the value directly via JDBC without ajava.sqlintermediary and the JVM time zone conversion that comes with it.no longer registered by default. Replaced byLocalTimeType, which reads and writes the value directly via JDBC without ajava.sqlintermediary and the JVM time zone conversion that comes with it.no longer registered by default. Replaced byUUIDType, which stores the value in a binary column when the mapped JDBC type is binary, instead of always converting it to a 36-char string.usePersistentObjectdirectlyuseCayenneRuntime.of()insteaduseCayenneRuntime.of(String)insteadin favor ofCayenneRuntime.getDataDomain()this is fairly useless. Modules are opaque.CayenneRuntime.getInjector()is the closest useful thing.useCommitLoginstead.use the DI keys defined inCoreModuleand the property names defined inRuntimePropertiessince 5.0 this property is ignored. The slow-query threshold warning was removed as part of the compact SQL logger redesignuseCayenneRuntimeclass insteaduseCayenneRuntime.of()insteaduseCayenneRuntime.of(String)insteadin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIusePersistentinterface directlyin favor ofCayenneDataSourcein favor ofCayenneDataSourcein favor ofDbAdapter.getQuotingStrategy(DbEntity)logger should be taken from the DataNodein favor ofDbAdapter.preferredNativeColumnType(DbAttribute)in favor ofJdbcAdapter.sizeAndScale(DbAdapter, DbAttribute)unused, it is trivial to create per-adapter classes without the common superclassa relationship path expression is all that is needed to select related objects as a columnin favour ofCollectionProperty.containsValue(V)in favour ofCollectionProperty.containsValues(V...)in favour ofCollectionProperty.containsIds(Object...)in favour ofCollectionProperty.containsIdsCollection(Collection)in favour ofCollectionProperty.notContainsValue(V)in favour ofCollectionProperty.notContainsValues(V...)in favour ofCollectionProperty.notContainsIds(Object...)in favour ofEntityProperty.idsIn(Object...)in favour ofEntityProperty.idsInCollection(Collection)in favour ofEntityProperty.idsNotIn(Object...)in favour ofEntityProperty.idsNotInCollection(Collection)in favour ofMapProperty.containsValuesCollection(Collection)in favour ofMapProperty.containsValues(V...)in favour ofMapProperty.containsIds(Object...)in favour ofMapProperty.containsIdsCollection(Collection)in favour ofMapProperty.notContainsValuesCollection(Collection)in favour ofMapProperty.notContainsValues(V...)in favour ofMapProperty.notContainsIds(Object...)in favour ofMapProperty.notContainsIdsCollection(Collection)asTraversalHandlerhas default no-op implementations for all methodsin favor ofCayennePath.OUTER_JOIN_INDICATORsince 5.0, as the query is defined by a String, seeSelectQueryDescriptor.getParsedQuery()since 5.0, as the query is defined by a String, seeSelectQueryDescriptor.getParsedQuery()since 5.0, as the query is defined by a String, seeSelectQueryDescriptor.getParsedQuery()since 5.0, as the query is defined by a String, seeSelectQueryDescriptor.getParsedQuery()useObjectContext.select(Select). All selecting queries implementSelect.useObjectSelect.dataRowQuery(Class)and thenFluentSelect.whereuseObjectSelect.dbQuery(String)and thenFluentSelect.whereuseObjectSelect.query(Class)and thenFluentSelect.whereuseQueryMetadata.getResultSegments()and checkResultSegments.array()renamed toQueryRouter.nodeForDataMap(DataMap).renamed toQueryRouter.nodeForName(String).this query is a thin wrapper around anObjectSelect. UseFluentSelect.byId(Object)or "byIds(..)" methods.misspelled, useArcProperty.getComplementaryReverseArc()misspelled, useArcProperty.getComplementaryReverseDbRelationshipPath()in favor ofArcProperty.isFaultValue(Object), that lets the caller check and use a single read of the property.will throw UnsupportedOperationException on invocation, useClassDescriptor.getSubclassDescriptor(String)iterate overClassDescriptor.getAllProperties()instead.iterate overClassDescriptor.getDeclaredProperties()instead.iterate overClassDescriptor.getProperties()instead.iterate overClassDescriptor.getProperties(),ClassDescriptor.getDeclaredProperties()orClassDescriptor.getAllProperties()and switch on the property type (AttributeProperty,ToOneProperty,ToManyProperty) instead.UseObjects.equals(Object, Object)orObjects.deepEquals(Object, Object)directly.useObjects.hash(Object...)or a manual31 * h + Objects.hashCode(x)loopunusedin favor ofXMLReaderProvider, the DI-bound provider of XMLReadersunusedusecs.chars().allMatch(Character::isDigit)or equivalentUseObjects.equals(Object, Object)for non-array types, orObjects.deepEquals(Object, Object)when the values may be arrays.unusedunusedunusedunusedunusedunuseduseIntStream.range(int, int)withCollectors.toMap(Function, Function)to build a map from parallel arraysunused
-
Deprecated InterfacesInterfaceDescriptionuse the DI keys defined in
CoreModuleand the property names defined inRuntimePropertiesusePersistentinterface directlyiterate overClassDescriptor.getProperties(),ClassDescriptor.getDeclaredProperties()orClassDescriptor.getAllProperties()and switch on the property type (AttributeProperty,ToOneProperty,ToManyProperty) instead.
-
Deprecated ClassesClassDescriptionno longer registered by default. Replaced by
LocalDateTimeType, which reads and writes the value directly via JDBC without ajava.sqlintermediary and the JVM time zone conversion that comes with it.no longer registered by default. Replaced byLocalDateType, which reads and writes the value directly via JDBC without ajava.sqlintermediary and the JVM time zone conversion that comes with it.no longer registered by default. Replaced byLocalTimeType, which reads and writes the value directly via JDBC without ajava.sqlintermediary and the JVM time zone conversion that comes with it.no longer registered by default. Replaced byUUIDType, which stores the value in a binary column when the mapped JDBC type is binary, instead of always converting it to a 36-char string.usePersistentObjectdirectlyuseCayenneRuntimeclass insteadin favor ofCayenneDataSourcein favor ofCayenneDataSourceunused, it is trivial to create per-adapter classes without the common superclassasTraversalHandlerhas default no-op implementations for all methodsthis query is a thin wrapper around anObjectSelect. UseFluentSelect.byId(Object)or "byIds(..)" methods.UseObjects.equals(Object, Object)orObjects.deepEquals(Object, Object)directly.useObjects.hash(Object...)or a manual31 * h + Objects.hashCode(x)loop
-
Deprecated Annotation Interfaces
-
Deprecated FieldsFieldDescriptionuse
DefaultDataRowStoreFactory.SNAPSHOT_CACHE_SIZE_DEFAULTunusedunusedsince 5.0 this property is ignored. The slow-query threshold warning was removed as part of the compact SQL logger redesignin favor ofCayennePath.OUTER_JOIN_INDICATOR
-
Deprecated MethodsMethodDescriptionif you are using thread context, you can create your own ThreadLocaluse
DataChannel.getDataDomain()on the channel returned byDataContext.getChannel()if you are using thread context, you can create your own ThreadLocaluseMappedExec.query(queryName).update(context)useMappedExec.query(queryName).params(parameters).update(context)useDataContext.execute(Query), orSQLExec.update(ObjectContext)/MappedExec.update(ObjectContext)for a query that produces a single update countuseMappedSelect.query(queryName).select(context), callingforceNoCache()on the query to expire cached listsuseMappedSelect.query(queryName).params(parameters).select(context), callingforceNoCache()on the query to expire cached listsunused and unneededdoes nothingin favor ofOptimisticLockException.getStatement()unused; no SQL tree node appends a sub-range. Kept for binary compatibility, now delegating toSQLAppendable.append(String).in favor ofArrayUtil.appendTruncated(StringBuilder, byte[])use implementation specific methods to perform cache management tasks.useCayenneRuntime.of()insteaduseCayenneRuntime.of(String)insteadin favor ofCayenneRuntime.getDataDomain()this is fairly useless. Modules are opaque.CayenneRuntime.getInjector()is the closest useful thing.useCayenneRuntime.of()insteaduseCayenneRuntime.of(String)insteadin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofCoreModule.extend(Binder)APIin favor ofDbAdapter.getQuotingStrategy(DbEntity)logger should be taken from the DataNodein favor ofDbAdapter.preferredNativeColumnType(DbAttribute)in favor ofJdbcAdapter.sizeAndScale(DbAdapter, DbAttribute)a relationship path expression is all that is needed to select related objects as a columnin favour ofCollectionProperty.containsValue(V)in favour ofCollectionProperty.containsValues(V...)in favour ofCollectionProperty.containsIds(Object...)in favour ofCollectionProperty.containsIdsCollection(Collection)in favour ofCollectionProperty.notContainsValue(V)in favour ofCollectionProperty.notContainsValues(V...)in favour ofCollectionProperty.notContainsIds(Object...)in favour ofEntityProperty.idsIn(Object...)in favour ofEntityProperty.idsInCollection(Collection)in favour ofEntityProperty.idsNotIn(Object...)in favour ofEntityProperty.idsNotInCollection(Collection)in favour ofMapProperty.containsValuesCollection(Collection)in favour ofMapProperty.containsValues(V...)in favour ofMapProperty.containsIds(Object...)in favour ofMapProperty.containsIdsCollection(Collection)in favour ofMapProperty.notContainsValuesCollection(Collection)in favour ofMapProperty.notContainsValues(V...)in favour ofMapProperty.notContainsIds(Object...)in favour ofMapProperty.notContainsIdsCollection(Collection)since 5.0, as the query is defined by a String, seeSelectQueryDescriptor.getParsedQuery()since 5.0, as the query is defined by a String, seeSelectQueryDescriptor.getParsedQuery()since 5.0, as the query is defined by a String, seeSelectQueryDescriptor.getParsedQuery()since 5.0, as the query is defined by a String, seeSelectQueryDescriptor.getParsedQuery()useObjectContext.select(Select). All selecting queries implementSelect.useObjectSelect.dataRowQuery(Class)and thenFluentSelect.whereuseObjectSelect.dbQuery(String)and thenFluentSelect.whereuseObjectSelect.query(Class)and thenFluentSelect.whereuseQueryMetadata.getResultSegments()and checkResultSegments.array()renamed toQueryRouter.nodeForDataMap(DataMap).renamed toQueryRouter.nodeForName(String).misspelled, useArcProperty.getComplementaryReverseArc()misspelled, useArcProperty.getComplementaryReverseDbRelationshipPath()in favor ofArcProperty.isFaultValue(Object), that lets the caller check and use a single read of the property.will throw UnsupportedOperationException on invocation, useClassDescriptor.getSubclassDescriptor(String)iterate overClassDescriptor.getAllProperties()instead.iterate overClassDescriptor.getDeclaredProperties()instead.iterate overClassDescriptor.getProperties()instead.unusedin favor ofXMLReaderProvider, the DI-bound provider of XMLReadersthis method based on statically defined class loading algorithm is not going to work in environments like OSGi.AdhocObjectFactoryshould be used as it can provide the environment-specific class loading policy.unusedusecs.chars().allMatch(Character::isDigit)or equivalentsince 5.0 in favor of the JDK'sComparator.nullsFirst(java.util.Comparator)/Comparator.nullsLast(java.util.Comparator)combined withComparator.naturalOrder().UseObjects.equals(Object, Object)for non-array types, orObjects.deepEquals(Object, Object)when the values may be arrays.unusedunusedunusedunusedunusedunuseduseIntStream.range(int, int)withCollectors.toMap(Function, Function)to build a map from parallel arraysunused