Не понял. Если у тебя нет уникального ключа тогда а) Ты по полям отличаешь одно от другого - Это же ValueObject. б) Ты вообще не отличаешь их друг от друга - Сервис вроде статического Math
во-первых не каждое уникальное поле хорошо делать идентификатором
во-вторых не у всех данных есть уникальные поля, делать составной ключ на всю запись это... интересно