" The issue is primarily that {{org.hibernate.type}} methods used {{SessionImplementor}} arguments in 5.1 .were changed to {{SharedSessionContractImplementor}} in 5.3.
In \r\n\r\nIn the process of investigating the impact of making user types binary compatible, I've been reviewing the various ways that Hibernate supports implementing user types.
User \r\n\r\nUser types are supported for: basic types, composite types, and collection types.
The \r\n\r\nThe user guide mentions: \r\n * implementing BasicType \r\n * implementing UserType \r\n * implementing VersionType \r\n * implementing UserVersionType \r\n * implementing UserCollectionType \r\n * extending AbstractStandardBasicType \r\n * extending AbstractSingleColumnStandardBasicType \r\n * extending PersistentBag (internal!?!) \r\n * SqlTypeDescriptor (examples using existing classes) \r\n * implementing a JavaTypeDescriptor<T> by extending AbstractTypeDescriptor<T>
Also \r\n\r\nAlso , org.hibernate.usertype contains: \r\n * CompositeUserType \r\n * ParameterizedType \r\n * DynamicParameterizedType \r\n * LoggableUserType \r\n * Sized \r\n * EnhancedUserType extends UserType In \r\n \r\nIn addition, the testsuite includes a user type that extends org.hibernate.type.SerializableToBlobType.
In \r\n\r\nIn order to make user types built in 5.1 binary compatible with 5.3, we should make sure that the following packages are binary compatible: \r\n * org.hibernate.type \r\n * * excluding CompositeType and its subclasses (ComponentType, AnyType, CompositeCustomType, EmbeddedComponentType, ObjectType) \r\n * * excluding AssociationType and its subclasses ()\r\n * * excluding nested \ "spi \ " and \ "internal \ " folders \r\n * org.hibernate.usertype \r\n * org.hibernate.collection, including nested \ "spi \ " and \ "internal \ " folders (since the user guide mentioned extending PersistentBag).
I \r\n\r\nI am assuming that Hibernate does not support CompositeType, \r\n" |
|