Edited. Whilst extending the base repository class and adding an insert method would work an more elegant solution appears to be implementing Persistable in the entities.
Does this help?
Set updatable = false on your PK column definition. Example:
updatable = false
@Id @GeneratedValue @Column(name = “id”, updatable = false, nullable = false) private Long id;
Setting your id non updatable will stop JPA from doing updates on your primary key, so thing about it.