Updated everything to Interface.  The only item that needed to remain a non-interface was the query references - but those were easily then cast to their interface when returned.  getId() didn't have any impact on these.  The references to other classes can be interfaces, the annotation just needs to have targetEntity=className.class in it to have the implementation of the entity.