HHH-11215 - Fix NullPointerException when collection of embeddables reference an unaudited entity.

This commit is contained in:
Chris Cranford 2016-11-22 23:17:11 -05:00
parent 1e030b2dc4
commit b1a9676146
1 changed files with 9 additions and 1 deletions

View File

@ -104,7 +104,15 @@ public class ToOneIdMapper extends AbstractToOneMapper {
boolean ignoreNotFound = false; boolean ignoreNotFound = false;
if ( !referencedEntity.isAudited() ) { if ( !referencedEntity.isAudited() ) {
final String referencingEntityName = enversService.getEntitiesConfigurations().getEntityNameForVersionsEntityName( (String) data.get( "$type$" ) ); final String referencingEntityName = enversService.getEntitiesConfigurations().getEntityNameForVersionsEntityName( (String) data.get( "$type$" ) );
ignoreNotFound = enversService.getEntitiesConfigurations().getRelationDescription( referencingEntityName, getPropertyData().getName() ).isIgnoreNotFound(); if ( referencingEntityName == null && primaryKey == null ) {
// HHH-11215 - Fix for NPE when Embeddable with ManyToOne inside ElementCollection
// an embeddable in an element-collection
// todo: perhaps the mapper should account for this instead?
ignoreNotFound = true;
}
else {
ignoreNotFound = enversService.getEntitiesConfigurations().getRelationDescription( referencingEntityName, getPropertyData().getName() ).isIgnoreNotFound();
}
} }
if ( ignoreNotFound ) { if ( ignoreNotFound ) {
// Eagerly loading referenced entity to silence potential (in case of proxy) // Eagerly loading referenced entity to silence potential (in case of proxy)