Java 类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, null, false );
        }
    }
    else {
        if ( secTable != null ) addJoin( secTable, null, null, 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, element, "catalog", false );
        if ( StringHelper.isNotEmpty( defaults.getCatalog() )
                && StringHelper.isEmpty( (String) annotation.valueOf( "catalog" ) ) ) {
            annotation.setValue( "catalog", defaults.getCatalog() );
        }
        copyStringAttribute( annotation, element, "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, defaults, 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;
    }
}