Well, this had not occured to me, but it is semi broken then.

ID = String here (a real composite id would be better)

and findByNameAndType === findById(composite)