当前位置: 首页>>代码示例>>Java>>正文


Java PersistentSet类代码示例

本文整理汇总了Java中org.hibernate.collection.internal.PersistentSet的典型用法代码示例。如果您正苦于以下问题:Java PersistentSet类的具体用法?Java PersistentSet怎么用?Java PersistentSet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


PersistentSet类属于org.hibernate.collection.internal包,在下文中一共展示了PersistentSet类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: shouldMap

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
@Override
public <S, D> boolean shouldMap(Type<S> type, String s, S s1, Type<D> type1, String s2, D d,
    MappingContext mappingContext) {
  if (type != null && s1 != null) {
    if (type.isCollection()) {
      if (s1 instanceof AbstractPersistentCollection) {
        return false;
      }

      if (((PersistentSet) s1).wasInitialized()) {
        return false;
      }
    }
  }

  return true;
}
 
开发者ID:empt-ak,项目名称:meditor,代码行数:18,代码来源:OrikaHibernateFilter.java

示例2: getCollection

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
protected final Collection<?> getCollection(Class<?> type,Collection<?> value) {
	if (value instanceof PersistentSet && type.isAssignableFrom(HashSet.class)) {
		return new HashSet<>();
	}else if(value instanceof PersistentList && type.isAssignableFrom(ArrayList.class)){
		return new ArrayList<>();
	}
	return value;
}
 
开发者ID:battlesteed,项目名称:hibernateMaster,代码行数:9,代码来源:BaseRelationalDatabaseDomain.java

示例3: unwrap

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
/**
 * If object is proxy, get unwrapped non-proxy object.
 *
 * @param proxy Object to check and unwrap
 * @return Unwrapped object if proxyied, if not just returns same object
 */
@SuppressWarnings( "unchecked" )
public static <T> T unwrap( T proxy )
{
    if ( !isProxy( proxy ) )
    {
        return proxy;
    }

    Hibernate.initialize( proxy );

    if ( HibernateProxy.class.isInstance( proxy ) )
    {
        Object result = ((HibernateProxy) proxy).writeReplace();

        if ( !SerializableProxy.class.isInstance( result ) )
        {
            return (T) result;
        }
    }

    if ( PersistentCollection.class.isInstance( proxy ) )
    {
        PersistentCollection persistentCollection = (PersistentCollection) proxy;

        if ( PersistentSet.class.isInstance( persistentCollection ) )
        {
            Map<?, ?> map = (Map<?, ?>) persistentCollection.getStoredSnapshot();
            return (T) new LinkedHashSet<>( map.keySet() );
        }

        return (T) persistentCollection.getStoredSnapshot();
    }

    return proxy;
}
 
开发者ID:dhis2,项目名称:dhis2-core,代码行数:42,代码来源:HibernateUtils.java

示例4: testJoinOrderBy

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
/**
 * Tests fix for bug #928.
 */
@Test
@SuppressWarnings("unchecked")
public void testJoinOrderBy() {
  final HibernateBackendController hbc = (HibernateBackendController) getBackendController();
  EnhancedDetachedCriteria crit = EnhancedDetachedCriteria.forClass(Department.class);

  DetachedCriteria companyCrit = crit.getSubCriteriaFor(crit, Department.COMPANY, JoinType.INNER_JOIN);
  companyCrit.add(Restrictions.eq(Nameable.NAME, "Design2See"));

  DetachedCriteria teamsCrit = crit.getSubCriteriaFor(crit, Department.TEAMS, JoinType.LEFT_OUTER_JOIN);
  teamsCrit.add(Restrictions.eq(OrganizationalUnit.OU_ID, "HR-001"));

  crit.addOrder(Order.desc(Nameable.NAME));
  crit.addOrder(Order.asc(IEntity.ID));

  List<Department> depts = hbc.findByCriteria(crit, null, Department.class);
  for (Department d : depts) {
    // force collection sorting.
    Set<Team> teams = d.getTeams();
    Set<?> innerSet;
    try {
      if (teams instanceof ICollectionWrapper<?>) {
        teams = (Set<Team>) ((ICollectionWrapper) teams).getWrappedCollection();
      }
      innerSet = (Set<?>) ReflectHelper.getPrivateFieldValue(PersistentSet.class, "set", teams);
    } catch (Exception ex) {
      throw new RuntimeException(ex);
    }
    assertTrue("innerSet is a LinkedHashSet", LinkedHashSet.class.isInstance(innerSet));
  }
}
 
开发者ID:jspresso,项目名称:hrsample-ce,代码行数:35,代码来源:JspressoModelTest.java

示例5: deepLoadCollection

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
@SuppressWarnings({ "unchecked", "rawtypes" })
private Collection<?> deepLoadCollection(Collection collection, Collection guideObj) {
	Collection result = null;
	
	if(guideObj != null && !guideObj.isEmpty() && 
		collection != null && !collection.isEmpty()){
			
		try {
			if (collection instanceof PersistentSet) {
				result = new LinkedHashSet<>();
			}else  if (collection instanceof PersistentList){
				result = new ArrayList<>();
			} else {
				result = collection.getClass().newInstance();
			}
			
			//Recuperar primera instancia del guideObj y usarlo como siguiente guideObj
			Object collGuideObj = guideObj.iterator().next();				
			for (Object aux : collection) {
				result.add(deepLoad(aux, collGuideObj));
			}
			
			collection.clear();
			collection.addAll(result);
			
		} catch (Throwable e) {
			e.printStackTrace();
		} 
	}
	
	return collection;
}
 
开发者ID:malaguna,项目名称:cmdit,代码行数:33,代码来源:HibernateProxyUtils.java

示例6: ensureInnerLinkedHashSet

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
/**
 * Ensures that the collection held by a Persistent Set is actually a
 * LinkedHashSet.
 *
 * @param collection
 *          the collection to ensure implementation of.
 */
public static void ensureInnerLinkedHashSet(Collection<?> collection) {
  if (collection instanceof PersistentSet) {
    try {
      Set<?> innerSet = (Set<?>) ReflectHelper.getPrivateFieldValue(
          PersistentSet.class, "set", collection);
      if (innerSet != null && !(innerSet instanceof LinkedHashSet<?>)) {
        ReflectHelper.setPrivateFieldValue(PersistentSet.class, "set",
            collection, new LinkedHashSet<>(innerSet));
      }
    } catch (Exception ex) {
      LOG.error("Failed to replace internal Hibernate set implementation");
    }
  }
}
 
开发者ID:jspresso,项目名称:jspresso-ce,代码行数:22,代码来源:HibernateHelper.java

示例7: cloneUninitializedProperty

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
/**
 * Hibernate related cloning.
 * <p/>
 * {@inheritDoc}
 */
@SuppressWarnings("unchecked")
@Override
protected <E> E cloneUninitializedProperty(Object owner, E propertyValue) {
  E clonedPropertyValue = propertyValue;
  if (isInitialized(owner)) {
    if (propertyValue instanceof PersistentCollection) {
      if (unwrapProxy((((PersistentCollection) propertyValue).getOwner())) != unwrapProxy(owner)) {
        if (propertyValue instanceof PersistentSet) {
          clonedPropertyValue = (E) new PersistentSet(
              // Must reset the session.
              // See bug #902
              /* ((PersistentSet) propertyValue).getSession() */null);
        } else if (propertyValue instanceof PersistentList) {
          clonedPropertyValue = (E) new PersistentList(
              // Must reset the session.
              // See bug #902
              /* ((PersistentList) propertyValue).getSession() */null);
        }
        changeCollectionOwner((Collection<?>) clonedPropertyValue, owner);
        ((PersistentCollection) clonedPropertyValue).setSnapshot(((PersistentCollection) propertyValue).getKey(),
            ((PersistentCollection) propertyValue).getRole(), null);
      }
    } else {
      if (propertyValue instanceof HibernateProxy) {
        return (E) getHibernateSession().load(
            ((HibernateProxy) propertyValue).getHibernateLazyInitializer().getEntityName(),
            ((IEntity) propertyValue).getId());
      }
    }
  }
  return clonedPropertyValue;
}
 
开发者ID:jspresso,项目名称:jspresso-ce,代码行数:38,代码来源:HibernateBackendController.java

示例8: postBootHook

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
@Override
public void postBootHook(AbstractApplicationContext ctx) {
    if(ctx.containsBean("xstream")){
        XStream xStream = (XStream)ctx.getBean("xstream");
        xStream.registerConverter(new HibernateProxyConverter());
        xStream.registerConverter(new HibernatePersistentCollectionConverter(xStream.getMapper()));
        xStream.alias("list", PersistentList.class);
        xStream.alias("list", PersistentBag.class);
        xStream.alias("set", PersistentSet.class);
    }

}
 
开发者ID:korwe,项目名称:kordapt,代码行数:13,代码来源:HibernateCoreAddon.java

示例9: instantiate

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
public PersistentCollection instantiate(SessionImplementor session, CollectionPersister persister, Serializable key) {
	return new PersistentSet(session);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:4,代码来源:SetType.java

示例10: wrap

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
public PersistentCollection wrap(SessionImplementor session, Object collection) {
	return new PersistentSet( session, (java.util.Set) collection );
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:4,代码来源:SetType.java

示例11: canConvert

import org.hibernate.collection.internal.PersistentSet; //导入依赖的package包/类
public boolean canConvert(final Class type) {
    return type == PersistentBag.class
            || type == PersistentList.class
            || type == PersistentSet.class;
}
 
开发者ID:korwe,项目名称:kordapt,代码行数:6,代码来源:HibernatePersistentCollectionConverter.java


注:本文中的org.hibernate.collection.internal.PersistentSet类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。