Java 类org.hibernate.mapping.IdentifierCollection 实例源码

项目:lams    文件:HbmBinder.java   
public static void bindIdentifierCollectionSecondPass(Element node,
        IdentifierCollection collection, java.util.Map persistentClasses, Mappings mappings,
        java.util.Map inheritedMetas) throws MappingException {

    bindCollectionSecondPass( node, collection, persistentClasses, mappings, inheritedMetas );

    Element subnode = node.element( "collection-id" );
    SimpleValue id = new SimpleValue( mappings, collection.getCollectionTable() );
    bindSimpleValue(
            subnode,
            id,
            false,
            IdentifierCollection.DEFAULT_IDENTIFIER_COLUMN_NAME,
            mappings
        );
    collection.setIdentifier( id );
    makeIdentifier( subnode, id, mappings );

}
项目:cacheonix-core    文件:HbmBinder.java   
public static void bindIdentifierCollectionSecondPass(Element node,
        IdentifierCollection collection, java.util.Map persistentClasses, Mappings mappings,
        java.util.Map inheritedMetas) throws MappingException {

    bindCollectionSecondPass( node, collection, persistentClasses, mappings, inheritedMetas );

    Element subnode = node.element( "collection-id" );
    SimpleValue id = new SimpleValue( collection.getCollectionTable() );
    bindSimpleValue(
            subnode,
            id,
            false,
            IdentifierCollection.DEFAULT_IDENTIFIER_COLUMN_NAME,
            mappings
        );
    collection.setIdentifier( id );
    makeIdentifier( subnode, id, mappings );

}
项目:lams    文件:HbmBinder.java   
public void secondPass(java.util.Map persistentClasses, java.util.Map inheritedMetas)
        throws MappingException {
    HbmBinder.bindIdentifierCollectionSecondPass(
            node,
            (IdentifierCollection) collection,
            persistentClasses,
            mappings,
            inheritedMetas
        );
}
项目:cacheonix-core    文件:HbmBinder.java   
public void secondPass(java.util.Map persistentClasses, java.util.Map inheritedMetas)
        throws MappingException {
    HbmBinder.bindIdentifierCollectionSecondPass(
            node,
            (IdentifierCollection) collection,
            persistentClasses,
            mappings,
            inheritedMetas 
        );
}
项目:lams    文件:IdBagBinder.java   
@Override
protected boolean bindStarToManySecondPass(
        Map persistentClasses,
        XClass collType,
        Ejb3JoinColumn[] fkJoinColumns,
        Ejb3JoinColumn[] keyColumns,
        Ejb3JoinColumn[] inverseColumns,
        Ejb3Column[] elementColumns,
        boolean isEmbedded,
        XProperty property,
        boolean unique,
        TableBinder associationTableBinder,
        boolean ignoreNotFound,
        Mappings mappings) {
    boolean result = super.bindStarToManySecondPass(
            persistentClasses, collType, fkJoinColumns, keyColumns, inverseColumns, elementColumns, isEmbedded,
            property, unique, associationTableBinder, ignoreNotFound, mappings
    );
    CollectionId collectionIdAnn = property.getAnnotation( CollectionId.class );
    if ( collectionIdAnn != null ) {
        SimpleValueBinder simpleValue = new SimpleValueBinder();

        PropertyData propertyData = new WrappedInferredData(
                new PropertyInferredData(
                        null,
                        property,
                        null, //default access should not be useful
                        mappings.getReflectionManager()
                ),
                "id"
        );
        Ejb3Column[] idColumns = Ejb3Column.buildColumnFromAnnotation(
                collectionIdAnn.columns(),
                null,
                Nullability.FORCED_NOT_NULL,
                propertyHolder,
                propertyData,
                Collections.EMPTY_MAP,
                mappings
        );
        //we need to make sure all id columns must be not-null.
        for(Ejb3Column idColumn:idColumns){
            idColumn.setNullable(false);
        }
        Table table = collection.getCollectionTable();
        simpleValue.setTable( table );
        simpleValue.setColumns( idColumns );
        Type typeAnn = collectionIdAnn.type();
        if ( typeAnn != null && !BinderHelper.isEmptyAnnotationValue( typeAnn.type() ) ) {
            simpleValue.setExplicitType( typeAnn );
        }
        else {
            throw new AnnotationException( "@CollectionId is missing type: "
                    + StringHelper.qualify( propertyHolder.getPath(), propertyName ) );
        }
        simpleValue.setMappings( mappings );
        SimpleValue id = simpleValue.make();
        ( (IdentifierCollection) collection ).setIdentifier( id );
        String generator = collectionIdAnn.generator();
        String generatorType;
        if ( "identity".equals( generator ) || "assigned".equals( generator )
                || "sequence".equals( generator ) || "native".equals( generator ) ) {
            generatorType = generator;
            generator = "";
        }
        else {
            generatorType = null;
        }
        BinderHelper.makeIdGenerator( id, generatorType, generator, mappings, localGenerators );
    }
    return result;
}