Я ни в коем случае не эксперт EMF, но вы можете создать объект-оболочку для объекта EObject и реализовать методы equals
и hashCode
в оболочке с точки зрения атрибутов интересующего вас объекта EObject, а затемиспользуйте эту обертку в качестве ключа.Это заставит вас всегда создавать экземпляр объекта-оболочки при поиске на карте, но в зависимости от модели использования, которая может быть не слишком ненавистной.
Имейте в виду, что использование изменяемых объектов в качестве ключей на карте сложно.Если объект был видоизменен после использования в качестве ключа таким образом, что хэш-код изменяется, тогда может быть трудно найти ключ снова позже.