Have you tried calling EntityManager.flush() to influence applying the database changes earlier, so that the validation rules would run under your application control?