diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java index 9051a4a7af9f30378e4ec43d917a3dc0a21d5f45..fc7c680c3a2da20714103275ecbb2a2e2eeedd21 100644 --- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java +++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java @@ -549,11 +549,15 @@ final class EntityPropertyTypeDAO extends AbstractDAO implements IEntityProperty assert propertyTypeCode != null : "Unspecified property type."; String query = - String.format("SELECT count(pv) FROM %s pa join pa.propertyValues pv " - + "WHERE pa.propertyTypeInternal.simpleCode = ? " - + "AND pa.entityTypeInternal.code = ?", + String.format("SELECT count(pv.id) FROM %s pa join %s pv " + + " ON pa.id = pv.entityTypePropertyType.id " + + " WHERE pa.propertyTypeInternal.simpleCode = ? " + + " AND pa.entityTypeInternal.code = ?", entityKind - .getEntityTypePropertyTypeAssignmentClass().getSimpleName()); + .getEntityTypePropertyTypeAssignmentClass().getSimpleName(), + entityKind.getEntityPropertyClass().getSimpleName() + ); + return ((Long) (getHibernateTemplate().find(query, toArray(propertyTypeCode, entityTypeCode)).get(0))).intValue(); }