Migration Concerns for move to Hibernate 4.0
This topic has not yet been written. The content below is from the topic description.
This document is a work in progress as we develop 4.0 Initial move to ServiceRegistry. For now, see design wikis or sources for more information. Not all "services" have been migrated to this model yet. The main ones (JDBC and transaction stuff) as well as lowever level one (classloading and such) have been migrated. The rest will be moved during Alpha2 development. In an initial push toward osgi we started splitting up packages a little bit differently in this release. The reason is to identify classes which are intended as public API, which are fully expected to be used in application code. internal implementation details, which are only intended for Hibernate use. SPI contracts, whch define extension contracts contracts with Hibernate internals exposed to these extensions This will potentially lead to some packaging changes needed in user code: org.hibernate.dialect.resolver.DialectResolver -> org.hibernate.service.jdbc.dialect.spi.DialectResolver Deprecated methods that have been removed: References to org.hibernate.type.AbstractSingleColumnStandardBasicType and org.hibernate.type.SingleColumnType methods should be changed as indicated: nullSafeGet(ResultSet rs, String name) should be changed to nullSafeGet(ResultSet rs, String name, SessionImplementor session) get(ResultSet rs, String name) should be changed to get(ResultSet rs, String name, SessionImplementor session) nullSafeSet(PreparedStatement st, T value, int index) should be changed to nullSafeSet(PreparedStatement st, Object value, int index, SessionImplementor session) set(PreparedStatement st, T value, int index) should be changed to set(PreparedStatement st, T value, int index, SessionImplementor session) References to org.hibernate.usertype.UserType methods should be changed as indicated: nullSafeGet(ResultSet rs, String[] names, Object owner) should be changed to nullSafeGet(ResultSet rs, String[] names, SessionImplementor session, Object owner) nullSafeSet(PreparedStatement st, Object value, int index) should be changed to nullSafeSet(PreparedStatement st, Object value, int index, SessionImplementor session) Session.reconnect() - manual disconection and reconnection is now only supported for user-supplied-connection scenarios (JDBC Connection passed in while opening the Session) Session.connection() - use Session.doWork(), Session.doReturningWork() or Session.sessionWithOptions()...openSession() as replacement depending on need Most of the overloaded SessionFactory.openSession methods. Use SessionFactory.withOptions()...openSession() instead Deprecated classes/interfaces that have been removed: org.hibernate.classic.Session org.hibernate.classic.Validatable org.hibernate.classic.ValidationException