mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-16 16:15:06 +00:00
HHH-17299 Avoid unneeded treats to the same subtype
This commit is contained in:
parent
1ddf519b76
commit
b4dabaeadd
@ -5214,7 +5214,7 @@ private Set<String> determineEntityNamesForTreatTypeRestriction(
|
|||||||
|
|
||||||
private Predicate createTreatTypeRestriction(SqmPath<?> lhs, EntityDomainType<?> treatTarget) {
|
private Predicate createTreatTypeRestriction(SqmPath<?> lhs, EntityDomainType<?> treatTarget) {
|
||||||
final AbstractEntityPersister entityDescriptor = (AbstractEntityPersister) domainModel.findEntityDescriptor( treatTarget.getHibernateEntityName() );
|
final AbstractEntityPersister entityDescriptor = (AbstractEntityPersister) domainModel.findEntityDescriptor( treatTarget.getHibernateEntityName() );
|
||||||
if ( entityDescriptor.isPolymorphic() ) {
|
if ( entityDescriptor.isPolymorphic() && lhs.getNodeType() != treatTarget ) {
|
||||||
final Set<String> subclassEntityNames = entityDescriptor.getSubclassEntityNames();
|
final Set<String> subclassEntityNames = entityDescriptor.getSubclassEntityNames();
|
||||||
return createTreatTypeRestriction( lhs, subclassEntityNames );
|
return createTreatTypeRestriction( lhs, subclassEntityNames );
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user