Skip to content

Commit

Permalink
HHH-7681 - Fix setting fake bidirectional attributes to null on colle…
Browse files Browse the repository at this point in the history
…ction change work units.
  • Loading branch information
Naros committed Sep 20, 2016
1 parent 16fd531 commit 2b5e201
Showing 1 changed file with 10 additions and 16 deletions.
Expand Up @@ -13,6 +13,8 @@
import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.envers.RevisionType;
import org.hibernate.envers.boot.internal.EnversService;
import org.hibernate.envers.internal.entities.EntityConfiguration;
import org.hibernate.envers.internal.entities.mapper.PropertyMapper;

/**
* @author Adam Warski (adam at warski dot org)
Expand Down Expand Up @@ -45,22 +47,14 @@ public boolean containsWork() {
public Map<String, Object> generateData(Object revisionData) {
fillDataWithId( data, revisionData );
final Map<String, Object> preGenerateData = new HashMap<>( data );
enversService.getEntitiesConfigurations().get( getEntityName() ).getPropertyMapper().mapToMapFromEntity(
sessionImplementor,
data,
entity,
null
);
enversService.getEntitiesConfigurations().get( getEntityName() ).getPropertyMapper().mapModifiedFlagsToMapFromEntity(
sessionImplementor,
data,
entity,
entity
);
enversService.getEntitiesConfigurations().get( getEntityName() ).getPropertyMapper().mapModifiedFlagsToMapForCollectionChange(
collectionPropertyName,
data
);

final EntityConfiguration entityConfig = enversService.getEntitiesConfigurations().get( getEntityName() );
final PropertyMapper propertyMapper = entityConfig.getPropertyMapper();
// HHH-7681 - Use entity as 'oldObj' so fake bidirectional non-insertable fields are tracked properly.
propertyMapper.mapToMapFromEntity( sessionImplementor, data, entity, entity );
propertyMapper.mapModifiedFlagsToMapFromEntity( sessionImplementor, data, entity, entity );
propertyMapper.mapModifiedFlagsToMapForCollectionChange( collectionPropertyName, data );

data.putAll( preGenerateData );
return data;
}
Expand Down

0 comments on commit 2b5e201

Please sign in to comment.