org.hibernate.property.access.spi.PropertyAccessStrategy#buildPropertyAccess ( )源码实例Demo

下面列出了org.hibernate.property.access.spi.PropertyAccessStrategy#buildPropertyAccess ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: lams   文件: PropertyFactory.java
private static Getter getGetter(Property mappingProperty) {
	if ( mappingProperty == null || !mappingProperty.getPersistentClass().hasPojoRepresentation() ) {
		return null;
	}

	final PropertyAccessStrategyResolver propertyAccessStrategyResolver =
			mappingProperty.getPersistentClass().getServiceRegistry().getService( PropertyAccessStrategyResolver.class );

	final PropertyAccessStrategy propertyAccessStrategy = propertyAccessStrategyResolver.resolvePropertyAccessStrategy(
			mappingProperty.getClass(),
			mappingProperty.getPropertyAccessorName(),
			EntityMode.POJO
	);

	final PropertyAccess propertyAccess = propertyAccessStrategy.buildPropertyAccess(
			mappingProperty.getPersistentClass().getMappedClass(),
			mappingProperty.getName()
	);

	return propertyAccess.getGetter();
}
 
源代码2 项目: lams   文件: PropertyAccessStrategyChainedImpl.java
@Override
public PropertyAccess buildPropertyAccess(Class containerJavaType, String propertyName) {
	for ( PropertyAccessStrategy candidate : chain ) {
		try {
			return candidate.buildPropertyAccess( containerJavaType, propertyName );
		}
		catch (Exception ignore) {
			// ignore
		}
	}

	throw new PropertyNotFoundException( "Could not resolve PropertyAccess for " + propertyName + " on " + containerJavaType );
}