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;
}