Search in sources :

Example 1 with AccessType

use of jakarta.persistence.AccessType in project hibernate-orm by hibernate.

the class PropertyAccessMixedImpl method getAccessType.

protected static AccessType getAccessType(Class<?> containerJavaType, String propertyName) {
    Field field = fieldOrNull(containerJavaType, propertyName);
    AccessType fieldAccessType = getAccessTypeOrNull(field);
    if (fieldAccessType != null) {
        return fieldAccessType;
    }
    AccessType methodAccessType = getAccessTypeOrNull(getterMethodOrNull(containerJavaType, propertyName));
    if (methodAccessType != null) {
        return methodAccessType;
    }
    // No @Access on property or field; check to see if containerJavaType has an explicit @Access
    AccessType classAccessType = getAccessTypeOrNull(containerJavaType);
    if (classAccessType != null) {
        return classAccessType;
    }
    return field != null ? AccessType.FIELD : AccessType.PROPERTY;
}
Also used : Field(java.lang.reflect.Field) AccessType(jakarta.persistence.AccessType)

Example 2 with AccessType

use of jakarta.persistence.AccessType in project hibernate-orm by hibernate.

the class JPAXMLOverriddenAnnotationReader method getAccessType.

private Access getAccessType(ManagedType root, XMLContext.Default defaults) {
    AccessType access = root == null ? null : root.getAccess();
    if (access != null) {
        AnnotationDescriptor ad = new AnnotationDescriptor(Access.class);
        ad.setValue("value", access);
        return AnnotationFactory.create(ad);
    } else if (defaults.canUseJavaAnnotations() && isPhysicalAnnotationPresent(Access.class)) {
        return getPhysicalAnnotation(Access.class);
    } else if (defaults.getAccess() != null) {
        AnnotationDescriptor ad = new AnnotationDescriptor(Access.class);
        ad.setValue("value", defaults.getAccess());
        return AnnotationFactory.create(ad);
    } else {
        return null;
    }
}
Also used : AnnotationDescriptor(org.hibernate.annotations.common.annotationfactory.AnnotationDescriptor) ClassLoaderAccess(org.hibernate.boot.spi.ClassLoaderAccess) Access(jakarta.persistence.Access) AccessType(jakarta.persistence.AccessType)

Aggregations

AccessType (jakarta.persistence.AccessType)2 Access (jakarta.persistence.Access)1 Field (java.lang.reflect.Field)1 AnnotationDescriptor (org.hibernate.annotations.common.annotationfactory.AnnotationDescriptor)1 ClassLoaderAccess (org.hibernate.boot.spi.ClassLoaderAccess)1