Example usage for org.hibernate.cache.cfg.spi NaturalIdDataCachingConfig getAccessType

List of usage examples for org.hibernate.cache.cfg.spi NaturalIdDataCachingConfig getAccessType

Introduction

In this page you can find the example usage for org.hibernate.cache.cfg.spi NaturalIdDataCachingConfig getAccessType.

Prototype

AccessType getAccessType();

Source Link

Document

The requested AccessType

Usage

From source file:org.infinispan.hibernate.cache.v53.impl.DomainDataRegionImpl.java

License:LGPL

@Override
public NaturalIdDataAccess getNaturalIdDataAccess(NavigableRole rootEntityRole) {
    NaturalIdDataCachingConfig naturalIdConfig = findConfig(this.config.getNaturalIdCaching(), rootEntityRole);
    AccessType accessType = naturalIdConfig.getAccessType();
    if (accessType == AccessType.NONSTRICT_READ_WRITE) {
        // We don't support nonstrict read write for natural ids as NSRW requires versions;
        // natural ids aren't versioned by definition (as the values are primary keys).
        accessType = AccessType.READ_WRITE;
    }/*from   ww  w.  j av a  2  s .co m*/
    AccessDelegate accessDelegate = createAccessDelegate(accessType, null);
    if (accessType == AccessType.READ_ONLY || !naturalIdConfig.isMutable()) {
        return new ReadOnlyNaturalDataAccess(accessType, accessDelegate, this);
    } else {
        return new ReadWriteNaturalDataAccess(accessType, accessDelegate, this);
    }
}