protected RelationshipAccessor(MetadataAnnotation annotation, MetadataAccessibleObject accessibleObject, ClassAccessor classAccessor) {
super(annotation, accessibleObject, classAccessor);
m_fetch = (annotation == null) ? getDefaultFetchType() : (String) annotation.getAttribute("fetch");
m_targetEntity = getMetadataClass((annotation == null) ? "void" : (String) annotation.getAttributeString("targetEntity"));
m_cascade = (annotation == null) ? null : new CascadeMetadata((Object[]) annotation.getAttributeArray("cascade"), this);
// Set the join fetch if one is present.
if (isAnnotationPresent(JoinFetch.class)) {
// Get attribute string will return the default ""
m_joinFetch = (String) getAnnotation(JoinFetch.class).getAttributeString("value");