diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java index 7f4ef6074dc37178b7f6ef26ec12ca4cf3a3f852..1dc3aa1d9abbba6b86438c780fad955732157acf 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityPropertyTypeDAO.java @@ -279,12 +279,16 @@ final class EntityPropertyTypeDAO extends AbstractDAO implements IEntityProperty default: throw new IllegalArgumentException(entityKind.toString()); } - SQLQuery updateQuery = - session.createSQLQuery( - "update " + entityTableName + " set modification_timestamp = :timestamp where id in :entityIds "); - updateQuery.setTimestamp("timestamp", getTransactionTimeStamp()); - updateQuery.setParameterList("entityIds", entityIds); - updateQuery.executeUpdate(); + InQueryScroller<Long> updateQueryScroller = new InQueryScroller(entityIds, 1); + List<Long> partialEntityId; + while ((partialEntityId = updateQueryScroller.next()) != null) + { + SQLQuery updateQuery = session + .createSQLQuery("update " + entityTableName + " set modification_timestamp = :timestamp where id in :entityIds "); + updateQuery.setTimestamp("timestamp", getTransactionTimeStamp()); + updateQuery.setParameterList("entityIds", partialEntityId); + updateQuery.executeUpdate(); + } return null; } });