@Override public Type resolveParameterBindType(Object bindValue) { if ( bindValue == null ) { // we can't guess return null; } return resolveParameterBindType( HibernateProxyHelper.getClassWithoutInitializingProxy( bindValue ) ); }
@Override public String toLoggableString(Object value, SessionFactoryImplementor factory) throws HibernateException { //TODO: terrible implementation! if ( value == null ) { return "null"; } if ( value == LazyPropertyInitializer.UNFETCHED_PROPERTY || !Hibernate.isInitialized( value ) ) { return "<uninitialized>"; } Class valueClass = HibernateProxyHelper.getClassWithoutInitializingProxy( value ); return factory.getTypeHelper().entity( valueClass ).toLoggableString( value, factory ); }
@Test public void testHistoryOfTnae1_id() { // load original "tnae1" TargetNotAuditedEntity to force load "str1" UnversionedStrTestEntity as Proxy TargetNotAuditedEntity original = getEntityManager().find( TargetNotAuditedEntity.class, tnae1_id ); UnversionedStrTestEntity uste1 = getEntityManager().find( UnversionedStrTestEntity.class, uste1_id ); UnversionedStrTestEntity uste2 = getEntityManager().find( UnversionedStrTestEntity.class, uste2_id ); TargetNotAuditedEntity rev1 = getAuditReader().find( TargetNotAuditedEntity.class, tnae1_id, 1 ); TargetNotAuditedEntity rev2 = getAuditReader().find( TargetNotAuditedEntity.class, tnae1_id, 2 ); TargetNotAuditedEntity rev3 = getAuditReader().find( TargetNotAuditedEntity.class, tnae1_id, 3 ); TargetNotAuditedEntity rev4 = getAuditReader().find( TargetNotAuditedEntity.class, tnae1_id, 4 ); assert rev1.getReference().equals( uste1 ); assert rev2.getReference().equals( uste2 ); assert rev3.getReference().equals( uste2 ); assert rev4.getReference().equals( uste1 ); assert original.getReference() instanceof HibernateProxy; assert UnversionedStrTestEntity.class.equals( Hibernate.getClass( original.getReference() ) ); assert UnversionedStrTestEntity.class.equals( HibernateProxyHelper.getClassWithoutInitializingProxy( rev1.getReference() ) ); assert UnversionedStrTestEntity.class.equals( Hibernate.getClass( rev1.getReference() ) ); }
public Class<?> getProxiedClass(Object o) { return HibernateProxyHelper.getClassWithoutInitializingProxy(o); } }
public <T> Class<T> getUnproxiedClass(Object entity) { return HibernateProxyHelper.getClassWithoutInitializingProxy(entity); } }
public <T> Class<T> unenhanceClass(T object) { return HibernateProxyHelper.getClassWithoutInitializingProxy(object); }
@SuppressWarnings("unchecked") public <PK extends Serializable> GenericRepository<Identifiable<PK>, PK> getRepository(Identifiable<PK> entity) { return (GenericRepository<Identifiable<PK>, PK>) repositories.get(getClassWithoutInitializingProxy(entity)); } }
@SuppressWarnings("unchecked") public <PK extends Serializable, E extends Identifiable<PK>> GenericRepository<E, PK> getRepository(E entity) { return (GenericRepository<E, PK>) repositories.get(getClassWithoutInitializingProxy(entity)); } }
public Class getTargetClass(Object obj) { if (obj instanceof HibernateProxy) { return HibernateProxyHelper.getClassWithoutInitializingProxy(obj); } return obj.getClass(); }
@Override public boolean equals(Object obj) { if (obj == null) { return false; } Class<?> objClass = HibernateProxyHelper.getClassWithoutInitializingProxy(obj); if (getClass() != objClass) { return false; } final MetadataSchema other = (MetadataSchema) obj; if (this.id != other.id) { return false; } if ((this.namespace == null) ? (other.namespace != null) : !this.namespace.equals(other.namespace)) { return false; } return true; }
@Override public AllowableParameterType resolveParameterBindType(Object bindValue) { if ( bindValue == null ) { // we can't guess return null; } return resolveParameterBindType( HibernateProxyHelper.getClassWithoutInitializingProxy( bindValue ) ); }
private Type guessType(Object param) throws HibernateException { Class clazz = HibernateProxyHelper.getClassWithoutInitializingProxy( param ); return guessType( clazz ); }
public Class<?> getProxiedClass(Object o) { if(o instanceof HibernateProxy) { return HibernateProxyHelper.getClassWithoutInitializingProxy(o); } else { return super.getProxiedClass(o); } }
@SuppressWarnings("unchecked") public String print(Object object, Locale locale) { if (object == null) { return ""; } // note: getClassWithoutInitializingProxy expects a non null object // _HACK_ as we depend on hibernate here. @SuppressWarnings("rawtypes") GenericPrinter printer = printers.get(getClassWithoutInitializingProxy(object)); return printer == null ? object.toString() : printer.print(object, locale); } }
private Type guessType(Object param) throws HibernateException { Class clazz = HibernateProxyHelper.getClassWithoutInitializingProxy(param); return guessType(clazz); }
private Type guessType(Object param) throws HibernateException { Class clazz = HibernateProxyHelper.getClassWithoutInitializingProxy( param ); return guessType( clazz ); }
public Class getEntityRealClass(Entity entity) { return HibernateProxyHelper.getClassWithoutInitializingProxy(ServerProxyfier.unProxifyIfNeeded(entity)); }
public Class getEntityRealClass(Entity entity) { return HibernateProxyHelper.getClassWithoutInitializingProxy(ServerProxyfier.unProxifyIfNeeded(entity)); }
public String getEntityName(Identifiable<?> entity) { Entity entityAnnotation = entity.getClass().getAnnotation(Entity.class); if (isBlank(entityAnnotation.name())) { return getClassWithoutInitializingProxy(entity).getSimpleName(); } return entityAnnotation.name(); }
public String getEntityName(Identifiable<?> entity) { Entity entityAnnotation = entity.getClass().getAnnotation(Entity.class); if (isBlank(entityAnnotation.name())) { return getClassWithoutInitializingProxy(entity).getSimpleName(); } return entityAnnotation.name(); }