本文整理汇总了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;未经允许,请勿转载。 |
请发表评论