support composite IDs with getById