/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.mapping;
import org.hibernate.MappingException;
import org.hibernate.property.access.internal.PropertyAccessStrategyIndexBackRefImpl;
import org.hibernate.property.access.spi.PropertyAccessStrategy;
Author: Gavin King
/**
* @author Gavin King
*/
public class IndexBackref extends Property {
private String collectionRole;
private String entityName;
@Override
public boolean isBackRef() {
return true;
}
@Override
public boolean isSynthetic() {
return true;
}
public String getCollectionRole() {
return collectionRole;
}
public void setCollectionRole(String collectionRole) {
this.collectionRole = collectionRole;
}
@Override
public boolean isBasicPropertyAccessor() {
return false;
}
private PropertyAccessStrategy accessStrategy;
@Override
public PropertyAccessStrategy getPropertyAccessStrategy(Class clazz) throws MappingException {
if ( accessStrategy == null ) {
accessStrategy = new PropertyAccessStrategyIndexBackRefImpl( collectionRole, entityName );
}
return accessStrategy;
}
public String getEntityName() {
return entityName;
}
public void setEntityName(String entityName) {
this.entityName = entityName;
}
}