下面列出了org.hibernate.cache.spi.access.AccessType#fromExternalName ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void addEntityBinding(PersistentClass persistentClass) throws DuplicateMappingException {
final String entityName = persistentClass.getEntityName();
if ( entityBindingMap.containsKey( entityName ) ) {
throw new DuplicateMappingException( DuplicateMappingException.Type.ENTITY, entityName );
}
entityBindingMap.put( entityName, persistentClass );
final AccessType accessType = AccessType.fromExternalName( persistentClass.getCacheConcurrencyStrategy() );
if ( accessType != null ) {
if ( persistentClass.isCached() ) {
locateCacheRegionConfigBuilder( persistentClass.getRootClass().getCacheRegionName() ).addEntityConfig(
persistentClass,
accessType
);
}
if ( persistentClass.hasNaturalId() && persistentClass instanceof RootClass && persistentClass.getNaturalIdCacheRegionName() != null ) {
locateCacheRegionConfigBuilder( persistentClass.getNaturalIdCacheRegionName() ).addNaturalIdConfig(
(RootClass) persistentClass,
accessType
);
}
}
}
@Override
public void addCollectionBinding(Collection collection) throws DuplicateMappingException {
final String collectionRole = collection.getRole();
if ( collectionBindingMap.containsKey( collectionRole ) ) {
throw new DuplicateMappingException( DuplicateMappingException.Type.COLLECTION, collectionRole );
}
collectionBindingMap.put( collectionRole, collection );
final AccessType accessType = AccessType.fromExternalName( collection.getCacheConcurrencyStrategy() );
if ( accessType != null ) {
locateCacheRegionConfigBuilder( collection.getCacheRegionName() ).addCollectionConfig(
collection,
accessType
);
}
}
public void overlay(CacheRegionDefinition overrides) {
if ( overrides == null ) {
return;
}
requested = TruthValue.TRUE;
accessType = AccessType.fromExternalName( overrides.getUsage() );
if ( StringHelper.isEmpty( overrides.getRegion() ) ) {
region = overrides.getRegion();
}
// ugh, primitive boolean
cacheLazyProperties = overrides.isCacheLazy();
}
@Override
public AccessType getDefaultAccessType() {
if (properties != null && properties.get(DEFAULT_ACCESSTYPE) != null) {
return AccessType.fromExternalName(properties.getProperty(DEFAULT_ACCESSTYPE));
}
return AccessType.READ_WRITE;
}
public static AccessType fromXml(String name) {
return AccessType.fromExternalName( name );
}