java类javax.persistence.SqlResultSetMapping的实例源码

JPAOverriddenAnnotationReader.java 文件源码 项目:lams 阅读 36 收藏 0 点赞 0 评论 0
private SqlResultSetMappings getSqlResultSetMappings(Element tree, XMLContext.Default defaults) {
    List<SqlResultSetMapping> results = buildSqlResultsetMappings( tree, defaults );
    if ( defaults.canUseJavaAnnotations() ) {
        SqlResultSetMapping annotation = getPhysicalAnnotation( SqlResultSetMapping.class );
        addSqlResultsetMappingIfNeeded( annotation, results );
        SqlResultSetMappings annotations = getPhysicalAnnotation( SqlResultSetMappings.class );
        if ( annotations != null ) {
            for ( SqlResultSetMapping current : annotations.value() ) {
                addSqlResultsetMappingIfNeeded( current, results );
            }
        }
    }
    if ( results.size() > 0 ) {
        AnnotationDescriptor ad = new AnnotationDescriptor( SqlResultSetMappings.class );
        ad.setValue( "value", results.toArray( new SqlResultSetMapping[results.size()] ) );
        return AnnotationFactory.create( ad );
    }
    else {
        return null;
    }
}
JPAOverriddenAnnotationReader.java 文件源码 项目:lams 阅读 45 收藏 0 点赞 0 评论 0
private void addSqlResultsetMappingIfNeeded(SqlResultSetMapping annotation, List<SqlResultSetMapping> resultsets) {
    if ( annotation != null ) {
        String resultsetName = annotation.name();
        boolean present = false;
        for ( SqlResultSetMapping current : resultsets ) {
            if ( current.name().equals( resultsetName ) ) {
                present = true;
                break;
            }
        }
        if ( !present ) {
            resultsets.add( annotation );
        }
    }
}
QueryBinder.java 文件源码 项目:lams 阅读 46 收藏 0 点赞 0 评论 0
public static void bindSqlResultsetMappings(SqlResultSetMappings ann, Mappings mappings, boolean isDefault) {
    if ( ann == null ) return;
    for (SqlResultSetMapping rs : ann.value()) {
        //no need to handle inSecondPass
        mappings.addSecondPass( new ResultsetMappingSecondPass( rs, mappings, true ) );
    }
}
ResultsetMappingSecondPass.java 文件源码 项目:lams 阅读 33 收藏 0 点赞 0 评论 0
public ResultsetMappingSecondPass(SqlResultSetMapping ann, Mappings mappings, boolean isDefault) {
    this.ann = ann;
    this.mappings = mappings;
    this.isDefault = isDefault;
}
QueryBinder.java 文件源码 项目:lams 阅读 36 收藏 0 点赞 0 评论 0
public static void bindSqlResultsetMapping(SqlResultSetMapping ann, Mappings mappings, boolean isDefault) {
    //no need to handle inSecondPass
    mappings.addSecondPass( new ResultsetMappingSecondPass( ann, mappings, isDefault ) );
}


问题


面经


文章

微信
公众号

扫码关注公众号