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

javax.persistence.SecondaryTable的实例源码

项目:lams    文件JPAOverriddenAnnotationReader.java   
private void overridesDefaultInSecondaryTable(
        SecondaryTable secTableAnn,XMLContext.Default defaults,List<SecondaryTable> secondaryTables
) {
    if ( secTableAnn != null ) {
        //handle default values
        if ( StringHelper.isNotEmpty( defaults.getCatalog() )
                || StringHelper.isNotEmpty( defaults.getSchema() ) ) {
            AnnotationDescriptor annotation = new AnnotationDescriptor( SecondaryTable.class );
            annotation.setValue( "name",secTableAnn.name() );
            annotation.setValue( "schema",secTableAnn.schema() );
            annotation.setValue( "catalog",secTableAnn.catalog() );
            annotation.setValue( "uniqueConstraints",secTableAnn.uniqueConstraints() );
            annotation.setValue( "pkJoinColumns",secTableAnn.pkJoinColumns() );
            if ( StringHelper.isEmpty( (String) annotation.valueOf( "schema" ) )
                    && StringHelper.isNotEmpty( defaults.getSchema() ) ) {
                annotation.setValue( "schema",defaults.getSchema() );
            }
            if ( StringHelper.isEmpty( (String) annotation.valueOf( "catalog" ) )
                    && StringHelper.isNotEmpty( defaults.getCatalog() ) ) {
                annotation.setValue( "catalog",defaults.getCatalog() );
            }
            secondaryTables.add( (SecondaryTable) AnnotationFactory.create( annotation ) );
        }
        else {
            secondaryTables.add( secTableAnn );
        }
    }
}
项目:lams    文件EntityBinder.java   
public void firstLevelSecondaryTablesBinding(
        SecondaryTable secTable,SecondaryTables secTables
) {
    if ( secTables != null ) {
        //loop through it
        for (SecondaryTable tab : secTables.value()) {
            addJoin( tab,null,false );
        }
    }
    else {
        if ( secTable != null ) addJoin( secTable,false );
    }
}
项目:cosmic    文件DbUtil.java   
public static final SecondaryTable[] getSecondaryTables(final AnnotatedElement clazz) {
    SecondaryTable[] sts = null;
    final SecondaryTable stAnnotation = clazz.getAnnotation(SecondaryTable.class);
    if (stAnnotation == null) {
        final SecondaryTables stsAnnotation = clazz.getAnnotation(SecondaryTables.class);
        sts = stsAnnotation != null ? stsAnnotation.value() : new SecondaryTable[0];
    } else {
        sts = new SecondaryTable[]{stAnnotation};
    }

    return sts;
}
项目:cloudstack    文件DbUtil.java   
public static final SecondaryTable[] getSecondaryTables(AnnotatedElement clazz) {
    SecondaryTable[] sts = null;
    SecondaryTable stAnnotation = clazz.getAnnotation(SecondaryTable.class);
    if (stAnnotation == null) {
        SecondaryTables stsAnnotation = clazz.getAnnotation(SecondaryTables.class);
        sts = stsAnnotation != null ? stsAnnotation.value() : new SecondaryTable[0];
    } else {
        sts = new SecondaryTable[] {stAnnotation};
    }

    return sts;
}
项目:lams    文件JPAOverriddenAnnotationReader.java   
private SecondaryTables getSecondaryTables(Element tree,XMLContext.Default defaults) {
    List<Element> elements = tree == null ?
            new ArrayList<Element>() :
            (List<Element>) tree.elements( "secondary-table" );
    List<SecondaryTable> secondaryTables = new ArrayList<SecondaryTable>( 3 );
    for ( Element element : elements ) {
        AnnotationDescriptor annotation = new AnnotationDescriptor( SecondaryTable.class );
        copyStringAttribute( annotation,element,"name",false );
        copyStringAttribute( annotation,"catalog",false );
        if ( StringHelper.isNotEmpty( defaults.getCatalog() )
                && StringHelper.isEmpty( (String) annotation.valueOf( "catalog" ) ) ) {
            annotation.setValue( "catalog",defaults.getCatalog() );
        }
        copyStringAttribute( annotation,"schema",false );
        if ( StringHelper.isNotEmpty( defaults.getSchema() )
                && StringHelper.isEmpty( (String) annotation.valueOf( "schema" ) ) ) {
            annotation.setValue( "schema",defaults.getSchema() );
        }
        buildUniqueConstraints( annotation,element );
        buildindex( annotation,element );
        annotation.setValue( "pkJoinColumns",buildPrimaryKeyJoinColumns( element ) );
        secondaryTables.add( (SecondaryTable) AnnotationFactory.create( annotation ) );
    }
    /*
     * You can't have both secondary table in XML and Java,* since there would be no way to "remove" a secondary table
     */
    if ( secondaryTables.size() == 0 && defaults.canUseJavaAnnotations() ) {
        SecondaryTable secTableAnn = getPhysicalAnnotation( SecondaryTable.class );
        overridesDefaultInSecondaryTable( secTableAnn,defaults,secondaryTables );
        SecondaryTables secTablesAnn = getPhysicalAnnotation( SecondaryTables.class );
        if ( secTablesAnn != null ) {
            for ( SecondaryTable table : secTablesAnn.value() ) {
                overridesDefaultInSecondaryTable( table,secondaryTables );
            }
        }
    }
    if ( secondaryTables.size() > 0 ) {
        AnnotationDescriptor descriptor = new AnnotationDescriptor( SecondaryTables.class );
        descriptor.setValue( "value",secondaryTables.toArray( new SecondaryTable[secondaryTables.size()] ) );
        return AnnotationFactory.create( descriptor );
    }
    else {
        return null;
    }
}

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