JPA freaks out if the @Id is declared in a @MappedSuperclass, so I just moved the @Id annotation from Product.UPC to an overriding UPC field in ProductEntity