/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }
/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }
/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }
/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }
/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }