Как использовать репозиторий spring без @Id?

Я использую spring CrudRepository во всем приложении. Теперь я также хочу создать один для @Entity, который не имеет @Id. Возможно ли это вообще?

//probably ID is always required?
public interface Repository<T, ID extends Serializable>

Ответ 1

JPA требует, чтобы каждый объект имел идентификатор. Таким образом, нет, сущность без идентификатора не допускается.

Каждый объект JPA должен иметь первичный ключ.

from Спецификация JPA

Возможно, вы захотите узнать больше о том, как JPA обрабатывает случай, когда здесь нет идентификатора на стороне БД (см. "Нет первичного ключа" ).