Interface PersistenceUnreachableTypeHandler<M,​T>

  • Type Parameters:
    M -
    T -
    All Superinterfaces:
    PersistenceLegacyTypeHandler<M,​T>, PersistenceTypeDefinition, PersistenceTypeDescription, PersistenceTypeHandler<M,​T>, PersistenceTypeIdentity, PersistenceTypeIdOwner, PersistenceTypeLink
    All Known Implementing Classes:
    PersistenceUnreachableTypeHandler.Default

    public interface PersistenceUnreachableTypeHandler<M,​T>
    extends PersistenceLegacyTypeHandler<M,​T>
    This is, of course, not a handler that is unreachable, but a handler for a type whose instances are (decided by the developer) no longer reachable in the entity graph, despite potentially still being present in a live database, but not having been cleaned up, yet. However, this effectively means that the handler itself should be kind of "unreachable", too, in the sense that it may never be necessary to access and use it. Without such a handler, a class could never be removed at the design level without replacement until the last instance of it has been cleaned up the the storage housekeeping. That is an unpleasent dependency. The preferable way is to explicitly tell the typing system to "ignore" those types. That is done by registering a kind of dummy type handler. That dummy handler is this type here.