public void nullSafeSet( PreparedStatement st, Object value, int index, SessionImplementor session) throws HibernateException, SQLException { String entityName = session.getFactory().getClassMetadata((Class) value).getEntityName(); Loadable entityPersister = (Loadable) session.getFactory().getEntityPersister(entityName); underlyingType.nullSafeSet(st, entityPersister.getDiscriminatorValue(), index, session); } public String toLoggableString(Object value, SessionFactoryImplementor factory) throws HibernateException { return value == null ? "[null]" : value.toString(); } public Object deepCopy(Object value, SessionFactoryImplementor factory) throws HibernateException { return value; } public Object replace(Object original, Object target, SessionImplementor session, Object owner, Map copyCache)