微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javax.persistence.UniqueConstraint的实例源码

项目:lams    文件JPAOverriddenAnnotationReader.java   
private static void buildUniqueConstraints(AnnotationDescriptor annotation,Element element) {
    List uniqueConstraintElementList = element.elements( "unique-constraint" );
    UniqueConstraint[] uniqueConstraints = new UniqueConstraint[uniqueConstraintElementList.size()];
    int ucIndex = 0;
    Iterator ucIt = uniqueConstraintElementList.listIterator();
    while ( ucIt.hasNext() ) {
        Element subelement = (Element) ucIt.next();
        List<Element> columnNamesElements = subelement.elements( "column-name" );
        String[] columnNames = new String[columnNamesElements.size()];
        int columnNameIndex = 0;
        Iterator it = columnNamesElements.listIterator();
        while ( it.hasNext() ) {
            Element columnNameElt = (Element) it.next();
            columnNames[columnNameIndex++] = columnNameElt.getTextTrim();
        }
        AnnotationDescriptor ucAnn = new AnnotationDescriptor( UniqueConstraint.class );
        copyStringAttribute( ucAnn,subelement,"name",false );
        ucAnn.setValue( "columnNames",columnNames );
        uniqueConstraints[ucIndex++] = AnnotationFactory.create( ucAnn );
    }
    annotation.setValue( "uniqueConstraints",uniqueConstraints );
}
项目:lams    文件TableBinder.java   
/**
 * Build a list of {@link org.hibernate.cfg.UniqueConstraintHolder} instances given a list of
 * {@link UniqueConstraint} annotations.
 *
 * @param annotations The {@link UniqueConstraint} annotations.
 *
 * @return The built {@link org.hibernate.cfg.UniqueConstraintHolder} instances.
 */
public static List<UniqueConstraintHolder> buildUniqueConstraintHolders(UniqueConstraint[] annotations) {
    List<UniqueConstraintHolder> result;
    if ( annotations == null || annotations.length == 0 ) {
        result = java.util.Collections.emptyList();
    }
    else {
        result = new ArrayList<UniqueConstraintHolder>( CollectionHelper.determineProperSizing( annotations.length ) );
        for ( UniqueConstraint uc : annotations ) {
            result.add(
                    new UniqueConstraintHolder()
                            .setName( uc.name() )
                            .setColumns( uc.columnNames() )
            );
        }
    }
    return result;
}
项目:gcplot    文件AbstractOrientDbRepository.java   
protected <T> void register(OObjectDatabaseTx db,OSchema schema,Class<T> aClass) {
    if (schema.getClass(aClass.getSimpleName()) == null) {
        db.getEntityManager().registerEntityClasses(aClass,true);
        OClass cls = db.getMetadata().getSchema().getClass(aClass);
        String indexName = aClass.getName() + ".unq";
        Table t = aClass.getAnnotation(Table.class);
        if (t != null) {
            Set<String> fields = new HashSet<>();
            for (UniqueConstraint uc : t.uniqueConstraints()) {
                fields.addAll(Lists.newArrayList(uc.columnNames()));
            }
            if (fields.size() > 0) {
                LOG.info("Registering unique constraint for fields: " + fields);
                for (String field : fields)
                    cls.createIndex(indexName + "." + field,OClass.INDEX_TYPE.UNIQUE_HASH_INDEX,field);
            }
        }
    } else {
        db.getEntityManager().registerEntityClasses(aClass,true);
    }
}
项目:org.fastnate    文件EntityClass.java   
private void instpectUniqueConstraint(final UniqueConstraint constraint) {
    UniquePropertyQuality currentQuality = UniquePropertyQuality.onlyrequiredPrimitives;
    final List<SingularProperty<E,?>> uniques = new ArrayList<>();
    final String[] columnNames = constraint.columnNames();
    for (final String columnName : columnNames) {
        for (final Property<E,?> property : this.properties.values()) {
            if (property instanceof SingularProperty) {
                final SingularProperty<E,?> singularProperty = (SingularProperty<E,?>) property;
                if (columnName.equals(singularProperty.getColumn().getName())) {
                    final UniquePropertyQuality quality = UniquePropertyQuality.getMatchingQuality(property);
                    if (quality != null) {
                        if (quality.ordinal() > currentQuality.ordinal()) {
                            currentQuality = quality;
                        }
                        uniques.add(singularProperty);
                    }
                }
            }
        }
    }
    if (uniques.size() == columnNames.length && isBetterUniquePropertyQuality(currentQuality)) {
        this.uniqueProperties = uniques;
        this.uniquePropertiesQuality = currentQuality;
    }
}
项目:lams    文件TableBinder.java   
/**
 * @deprecated Use {@link #buildUniqueConstraintHolders} instead
 */
@Deprecated
@SuppressWarnings({ "JavaDoc" })
public static List<String[]> buildUniqueConstraints(UniqueConstraint[] constraintsArray) {
    List<String[]> result = new ArrayList<String[]>();
    if ( constraintsArray.length != 0 ) {
        for (UniqueConstraint uc : constraintsArray) {
            result.add( uc.columnNames() );
        }
    }
    return result;
}
项目:UniqueValidator    文件UniqueValidator.java   
private ArrayList<String[]> _getFieldsFromUniqueConstraint(Object value){
    ArrayList<String[]> result = new ArrayList<>();

    if(value.getClass().isAnnotationPresent(Table.class)){
        Table ta = value.getClass().getAnnotation(Table.class);
        for(UniqueConstraint uc : ta.uniqueConstraints()){
            result.add(uc.columnNames());
        }
    }

    return result;
}
项目:mycore    文件MCRCategoryImpl.java   
@Override
@ElementCollection(fetch = FetchType.LAZY)
@CollectionTable(name = "MCRCategoryLabels",joinColumns = @JoinColumn(name = "category"),uniqueConstraints = {
        @UniqueConstraint(columnNames = { "category","lang" }) })
public Set<MCRLabel> getLabels() {
    return super.getLabels();
}
项目:mycore    文件MCRHibernateConfigHelper.java   
private static String getUniqueColumns(Class<?> clazz,String name) {
    return Optional.of(clazz)
        .map(c -> c.getAnnotation(Table.class))
        .map(Table::uniqueConstraints)
        .map(Stream::of)
        .flatMap(s -> s
            .filter(uc -> uc.name().equals(name))
            .findAny()
            .map(UniqueConstraint::columnNames))
        .map(Stream::of)
        .map(s -> s.collect(Collectors.joining(",")))
        .get();
}
项目:rpb    文件JpaUniqueUtil.java   
private List<String> validateCompositeUniqueConstraints(Identifiable<?> entity) {
    Class<?> entityClass = getClassWithoutinitializingProxy(entity);
    Table table = findAnnotation(entityClass,Table.class);
    if (table == null) {
        return emptyList();
    }
    List<String> errors = newArrayList();
    for (UniqueConstraint uniqueConstraint : table.uniqueConstraints()) {
        if (!checkCompositeUniqueConstraint(entity,entityClass,uniqueConstraint)) {
            errors.add(compositeUniqueConstraintErrorCode(entity,uniqueConstraint));
        }
    }
    return errors;
}
项目:rpb    文件JpaUniqueUtil.java   
private Map<String,Object> getPropertyConstraints(Object entity,Class<?> entityClass,UniqueConstraint u,String prefix) {
    Map<String,Object> values = newHashMap();
    for (String column : u.columnNames()) {
        Method method = columnNametoMethod(entityClass,column);
        if (method != null) {
            values.put(prefix + methodToProperty(method),invokeMethod(method,entity));
        } else {
            Field field = columnNametoField(entityClass,column);
            if (field != null) {
                values.put(prefix + field.getName(),getValueFromField(field,entity));
            }
        }
    }
    return values;
}
项目:org.fastnate    文件EntityClass.java   
private void buildUniqueProperties(final UniqueConstraint[] uniqueConstraints) {
    for (final UniqueConstraint constraint : uniqueConstraints) {
        if (constraint.columnNames().length <= this.context.getMaxUniqueProperties()) {
            instpectUniqueConstraint(constraint);
        }
    }
}
项目:saos    文件Judgment.java   
@ElementCollection
@CollectionTable(name="judgment_court_reporter",uniqueConstraints={@UniqueConstraint(name="judgment_court_reporter_unique",columnNames={"fk_judgment","court_reporter"})})
@Column(name="court_reporter")
@OrderBy("court_reporter")
private List<String> getCourtReporters_() {
    return courtReporters;
}
项目:saos    文件Judgment.java   
@ElementCollection
@CollectionTable(name="judgment_legal_bases",uniqueConstraints={@UniqueConstraint(name="judgment_legal_base_unique","legal_base"})})
@Column(name="legal_base")
@OrderBy("legal_base")
private List<String> getLegalBases_() {
    return legalBases;
}
项目:saos    文件Judgment.java   
@ElementCollection
@CollectionTable(name="judgment_lower_court_judgments",uniqueConstraints={@UniqueConstraint(name="judgment_lower_court_judgment_unique","lower_court_judgment"})})
@Column(name="lower_court_judgment")
@OrderBy("lower_court_judgment")
private List<String> getLowerCourtJudgments_() {
    return lowerCourtJudgments;
}
项目:saos    文件ConstitutionalTribunalJudgmentdissentingOpinion.java   
@ElementCollection
@CollectionTable(name="ct_judgment_opinion_author",joinColumns = {@JoinColumn(name = "fk_ct_judgment_opinion",nullable = false)},uniqueConstraints={@UniqueConstraint(name="ct_judgment_opinion_author_unique",columnNames={"fk_ct_judgment_opinion","author"})})
@Column(name="author",nullable=false)
private List<String> getAuthors_() {
    return authors;
}
项目:stdlib    文件RoleEntity.java   
@OrderBy("id DESC")
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "user_has_role",//
        joinColumns = {@JoinColumn(name = "role_id",referencedColumnName = "id",nullable = false,updatable = false)},inverseJoinColumns = {@JoinColumn(name = "user_id",uniqueConstraints = {@UniqueConstraint(columnNames = {"user_id","role_id"})})
public List<UserEntity> getMembers()
{
    return members;
}
项目:lams    文件TableBinder.java   
public void setUniqueConstraints(UniqueConstraint[] uniqueConstraints) {
    this.uniqueConstraints = TableBinder.buildUniqueConstraintHolders( uniqueConstraints );
}
项目:rpb    文件JpaUniqueUtil.java   
private String compositeUniqueConstraintErrorCode(Identifiable<?> entity,UniqueConstraint uniqueConstraint) {
    return getEntityName(entity).toLowerCase() + "_"
            + (uniqueConstraint.name() == null ? "composite_unique_constraint_error" : uniqueConstraint.name().toLowerCase());
}
项目:rpb    文件JpaUniqueUtil.java   
private boolean checkCompositeUniqueConstraint(Identifiable<?> entity,UniqueConstraint u) {
    Map<String,Object> values = newHashMap();
    values.putAll(getPropertyConstraints(entity,u,""));
    return !existsInDatabaSEOnAllObjects(entity,values);
}
项目:ef-orm    文件UniqueConstraintDef.java   
public UniqueConstraintDef(UniqueConstraint unique) {
    this.name=unique.name();
    this.columnNames=unique.columnNames();
}
项目:exportlibrary    文件ValidationReport.java   
/**
 * Gets the value of the validation property.
 *
 * <p>
 * This accessor method returns a reference to the live list,not a
 * snapshot. Therefore any modification you make to the returned list will
 * be present inside the JAXB object. This is why there is not a
 * <CODE>set</CODE> method for the validation property.
 *
 * <p>
 * For example,to add a new item,do as follows:
 * <pre>
 *    getValidation().add(newItem);
 * </pre>
 *
 *
 * <p>
 * Objects of the following type(s) are allowed in the list
 * {@link Validation }
 *
 *
 */
@ManyToMany(targetEntity = Validation.class,cascade = {
    CascadeType.ALL
})
@JoinTable(name = "VALIDATION_REPORT_VALIDATION",joinColumns = {
    @JoinColumn(name = "validationreport",referencedColumnName = "HJID")
},inverseJoinColumns = {
    @JoinColumn(name = "validation",uniqueConstraints =
        @UniqueConstraint(columnNames = {"validationreport","validation"}))
@OrderColumn(name = "VALIDATION_HJORDER")
public Set<Validation> getValidation() {
    if (validation == null) {
        validation = new HashSet<>();
    }
    return this.validation;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。