private SingularAttributeBinding locateAttributeBindingFromIdentifier( TableSpecification table, List<? extends Value> values) { if (!primaryTable.equals(table)) { return null; } final EntityIdentifier idInfo = hierarchyDetails.getEntityIdentifier(); final SingularAttributeBinding idAttributeBinding = idInfo.getEntityIdentifierBinding().getAttributeBinding(); final List<? extends Value> idAttributeValues = idAttributeBinding.getValues(); // order-insensitive check (column order handled later) if (idAttributeValues.size() == values.size() && idAttributeValues.containsAll(values)) { return idAttributeBinding; } // if ( idAttributeValues.equals( values ) ) { // return idAttributeBinding; // } return null; }
public boolean isPolymorphic() { return !isRoot() || hierarchyDetails.getEntityDiscriminator() != null || !subEntityBindings.isEmpty(); }