use entityManger.remove instead of jpa query to enable cascade delete.

I guess, does not really matter - as I'd assume no-one deletes a variant containing a few hundred k devices :)