code: protected void validateEntityReferentialConstraint(Object entity, DAOMode mode, DAOValidatorEvaluationTime validationTime) {
  
  		// Obtention de la liste des annotations DAO qui sont sur la classe
  		List<Annotation> daoAnnotations = DAOValidatorHelper.loadDAOValidatorAnnotations(entity);
  		
  		// Si la liste est vide
  		if(daoAnnotations == null || daoAnnotations.size() == 0) return;
  		
  		// On parcours cette liste
  		for (Annotation daoAnnotation : daoAnnotations) {
  
  			// Obtention de la classe du Validateur
  			Class<?> validatorClass = DAOValidatorHelper.getValidationLogicClass(daoAnnotation);
  
  			// Le validateur
  			IDAOValidator<Annotation> validator = null;
  			
  			try {
  				
  				// On instancie le validateur
  				validator = (IDAOValidator<Annotation>) validatorClass.newInstance();
  				
  				// Initialisation du Validateur
  				validator.initialize(daoAnnotation, getEntityManager(), mode, validationTime);
  				
  			} catch (Throwable e) {
  				
  				// On relance l'exception
  				throw new JPersistenceToolsException("ValidatorInstanciationException.message", e);
  			}
  			
  			// Validation des contraintes d'integrites
  			validator.processValidation(entity);
  		}
  	}
docs: Méthode de validation des contraintes referentielles
  @param entity	Entité à valider
  @param mode	Mode DAO
  @param validationTime	Moment d'évaluation