Другая опция, совместимая с 4.0:
Перед фиксацией изменений вы можете восстановить новые объекты CayenneDataObject
из коллекции, связанной с контекстом, например:
CayenneDataObject dataObjectsCollection = (CayenneDataObject)cayenneContext.newObjects();
затем получите доступ к ObjectId
для каждого в коллекции, например:
ObjectId objectId = dataObject.getObjectId();
Наконец, вы можете выполнять итерации по значениям, где обычно генерируемый идентификатор будет первым из значений(для ключа одного столбца) на карте, возвращаемой getIdSnapshot()
, он также содержит имена столбцов, связанных с PK в качестве ключа (ключей):
objectId.getIdSnapshot().values()