1.5.5. JPA Data Provider#
Authorization ve tercih edildiğinde authentication uygulamaları için database işlemlerinin yapılabilmesini sağlayan multi module kütüphanedir.
İçerisinde :
- Authority : Yetki ve etiket ile ilgili işlemleri yapıldığı modüldür.
 - Profile : Kullanıcının keysisteki profil işlemlerinin olduğu modüldür.
 - Proxy : Vekalet işlemlerinin olduğu modüldür.
 - Role : Yetki, rol ve rol atayıcısına ait işlemlerin olduğu modüldür.
 - Tenant : Çok kiracılı(multi tenant) uygulamalar ile ilgili işlemlerin yapıldığı modüldür.
 - User : Kullanıcı ile ilgili işlemlerin yapıldığı modüldür.
 
Starter kütüphanelerinde olduğu gibi istenildiği taktirde özelleştirilebilir.
Kütüphane#
Gradle Dependencies
compile (
    [group: 'tr.com.havelsan.framework.oauth' , name: 'hvl-oauth-jpa-data-provider' , version: 'güncel versiyon repositoryden bakılmalıdır.' ]
)
Servis Tanımı#
Servis Kullanımı
HvlOAuthProfileGroupManager.java
public interface HvlOAuthProfileGroupManager {
    /**
     * Find profile id by uuid.
     *
     * @param uuid the uuid
     * @return an Optional id
     */
    Optional<Long> findIdByUuid(
            @NotBlank @Size(min = HvlPersistableDataConstraint.UUID_SIZE, max = HvlPersistableDataConstraint.UUID_SIZE) String uuid);
    /**
     * Find id by uuid or else throw long.
     *
     * @param uuid the uuid
     * @return the long
     */
    Long findIdByUuidOrElseThrow(
            @NotBlank @Size(min = HvlPersistableDataConstraint.UUID_SIZE, max = HvlPersistableDataConstraint.UUID_SIZE) String uuid);
   ...
}