Package org.hibernate.envers.entities.mapper.id

Examples of org.hibernate.envers.entities.mapper.id.IdMapper


              // We've got to initialize the object from the proxy to later read its state.
              newValue = Tools.getTargetFromProxy(session.getFactory(), hibernateProxy);
            } else {
              toEntityName =  session.guessEntityName(newValue);

              IdMapper idMapper = enversConfiguration.getEntCfg().get(toEntityName).getIdMapper();
               id = (Serializable) idMapper.mapToIdFromEntity(newValue);
            }

            auditProcess.addWorkUnit(new CollectionChangeWorkUnit(session, toEntityName, enversConfiguration, id, newValue));
          }

          if (oldValue != null) {
            String toEntityName;
            Serializable id;

            if(oldValue instanceof HibernateProxy) {
              HibernateProxy hibernateProxy = (HibernateProxy) oldValue;
              toEntityName = session.bestGuessEntityName(oldValue);
              id = hibernateProxy.getHibernateLazyInitializer().getIdentifier();
              // We've got to initialize the object as we'll read it's state anyway.
              oldValue = Tools.getTargetFromProxy(session.getFactory(), hibernateProxy);
            } else {
              toEntityName =  session.guessEntityName(oldValue);

              IdMapper idMapper = enversConfiguration.getEntCfg().get(toEntityName).getIdMapper();
              id = (Serializable) idMapper.mapToIdFromEntity(oldValue);
            }

            auditProcess.addWorkUnit(new CollectionChangeWorkUnit(session, toEntityName, enversConfiguration, id, oldValue));
          }
        }
View Full Code Here


            // In case of a fake many-to-one bidirectional relation, we have to generate a mapper which maps
            // the mapped-by property name to the id of the related entity (which is the owner of the collection).
            String auditMappedBy = propertyAuditingData.getAuditMappedBy();

            // Creating a prefixed relation mapper.
            IdMapper relMapper = referencingIdMapping.getIdMapper().prefixMappedProperties(
                    MappingTools.createToOneRelationPrefix(auditMappedBy));

            fakeBidirectionalRelationMapper = new ToOneIdMapper(
                    relMapper,
                    // The mapper will only be used to map from entity to map, so no need to provide other details
View Full Code Here

             */

            QueryBuilder qb = new QueryBuilder(auditedEntityName, "e");

            // e.id = :id
            IdMapper idMapper = auditCfg.getEntCfg().get(entityName).getIdMapper();
            idMapper.addIdEqualsToQuery(qb.getRootParameters(), id, auditCfg.getAuditEntCfg().getOriginalIdPropName(), true);

            updateLastRevision(session, auditCfg, qb, id, auditedEntityName, revision);
        }

        // Save the audit data
View Full Code Here

            // We've got to initialize the object from the proxy to later read its state.
            value = Tools.getTargetFromProxy(session.getFactory(), hibernateProxy);
    } else {
          toEntityName =  session.guessEntityName(value);

            IdMapper idMapper = enversConfiguration.getEntCfg().get(toEntityName).getIdMapper();
            id = (Serializable) idMapper.mapToIdFromEntity(value);
    }

    Set<String> toPropertyNames = enversConfiguration.getEntCfg()
        .getToPropertyNames(fromEntityName, relDesc.getFromPropertyName(), toEntityName);
    String toPropertyName = toPropertyNames.iterator().next();
View Full Code Here

                .mapCollectionChanges( referencingPropertyName, newColl, oldColl, event.getAffectedOwnerIdOrNull() );

        // Getting the id mapper for the related entity, as the work units generated will corrspond to the related
        // entities.
        String relatedEntityName = rd.getToEntityName();
        IdMapper relatedIdMapper = getAuditConfiguration().getEntCfg().get(relatedEntityName).getIdMapper();

        // For each collection change, generating the bidirectional work unit.
        for ( PersistentCollectionChangeData changeData : collectionChanges ) {
            Object relatedObj = changeData.getChangedElement();
            Serializable relatedId = (Serializable) relatedIdMapper.mapToIdFromEntity(relatedObj);
            RevisionType revType = (RevisionType) changeData.getData().get(
          getAuditConfiguration().getAuditEntCfg().getRevisionTypePropName()
      );

            // This can be different from relatedEntityName, in case of inheritance (the real entity may be a subclass
View Full Code Here

        // Checking if this is not a bidirectional relation - then, a revision needs also be generated for
        // the other side of the relation.
        // relDesc can be null if this is a collection of simple values (not a relation).
        if ( rd != null && rd.isBidirectional() ) {
            String relatedEntityName = rd.getToEntityName();
            IdMapper relatedIdMapper = getAuditConfiguration().getEntCfg().get( relatedEntityName ).getIdMapper();

      Set<String> toPropertyNames = getAuditConfiguration().getEntCfg()
          .getToPropertyNames(event.getAffectedOwnerEntityName(), rd.getFromPropertyName(), relatedEntityName);
      String toPropertyName = toPropertyNames.iterator().next();

            for ( PersistentCollectionChangeData changeData : workUnit.getCollectionChanges() ) {
                Object relatedObj = changeData.getChangedElement();
                Serializable relatedId = (Serializable) relatedIdMapper.mapToIdFromEntity( relatedObj );

                auditProcess.addWorkUnit(
            new CollectionChangeWorkUnit(
                event.getSession(),
                event.getSession().bestGuessEntityName(relatedObj),
View Full Code Here

             */

            QueryBuilder qb = new QueryBuilder(auditedEntityName, MIDDLE_ENTITY_ALIAS);

            // e.id = :id
            IdMapper idMapper = auditCfg.getEntCfg().get(entityName).getIdMapper();
            idMapper.addIdEqualsToQuery(qb.getRootParameters(), id, auditCfg.getAuditEntCfg().getOriginalIdPropName(), true);

            addEndRevisionNullRestriction(auditCfg, qb);

            @SuppressWarnings({"unchecked"})
            List<Object> l = qb.toQuery(session).setLockOptions(LockOptions.UPGRADE).list();
View Full Code Here

            // In case of a fake many-to-one bidirectional relation, we have to generate a mapper which maps
            // the mapped-by property name to the id of the related entity (which is the owner of the collection).
            String auditMappedBy = propertyAuditingData.getAuditMappedBy();

            // Creating a prefixed relation mapper.
            IdMapper relMapper = referencingIdMapping.getIdMapper().prefixMappedProperties(
                    MappingTools.createToOneRelationPrefix(auditMappedBy));

            fakeBidirectionalRelationMapper = new ToOneIdMapper(
                    relMapper,
                    // The mapper will only be used to map from entity to map, so no need to provide other details
View Full Code Here

                propertyAuditingData, true);

        String lastPropertyPrefix = MappingTools.createToOneRelationPrefix(propertyAuditingData.getName());

        // Generating the id mapper for the relation
        IdMapper relMapper = idMapping.getIdMapper().prefixMappedProperties(lastPropertyPrefix);

        // Storing information about this relation
        mainGenerator.getEntitiesConfigurations().get(entityName).addToOneRelation(
                propertyAuditingData.getName(), referencedEntityName, relMapper, insertable);
View Full Code Here

        String lastPropertyPrefix = MappingTools.createToOneRelationPrefix(owningReferencePropertyName);
        String referencedEntityName = propertyValue.getReferencedEntityName();

        // Generating the id mapper for the relation
        IdMapper ownedIdMapper = ownedIdMapping.getIdMapper().prefixMappedProperties(lastPropertyPrefix);

        // Storing information about this relation
        mainGenerator.getEntitiesConfigurations().get(entityName).addToOneNotOwningRelation(
                propertyAuditingData.getName(), owningReferencePropertyName,
                referencedEntityName, ownedIdMapper);
View Full Code Here

TOP

Related Classes of org.hibernate.envers.entities.mapper.id.IdMapper

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.