Ana içeriğe geç

QueryDsl Plugin#

Proje içerisinde Hibernate veya JPA teknolojilerinde sorgu kriteri oluşturmak amacı veritabanı nesnesine ait sorgu nesnesi oluşturmaya sağlamaktadır.

Projelere iki farklı yöntem ile eklenebilmektedir. Yöntemler şunlardır:

DSL kullanımı

build.gradle
plugins {
    id 'hvl-querydsl-plugin' version hvlQuerydslPluginVersion
}

Buildscript kullanımı

build.gradle
buildscript {
    repositories {
        maven {
            url 'http://nexus.bulut.ai/repository/framework-plugin-group/'
        }
    }
    dependencies {
        classpath(group: 'tr.com.havelsan.plugin', name: 'hvl-querydsl-plugin', version: hvlQuerydslPluginVersion)
    }
}

apply plugin: 'hvl-querydsl-plugin'

Konfigurasyon yapısı#

build.gradle
import tr.com.havelsan.javarch.gradle.querydsl.plugin.extension.data.HvlQuerydslPluginMode

hvlQuerydsl {
  jpa = true
  mode = HvlQuerydslPluginMode.MOVE
}

Genelde projelerde yukarıdaki şekilde kullanılmaktadır ancak bunun dışında bir çok konfigürasyon mevcuttur.

  • mode: Querydsl implementasyonlarının oluşturulma modudur. Varsayılan değer: MANUEL
    • AUTO: Querydsl implementasyonlarını compile aşamasında otomatik olarak oluşturur ve kullanır. Bu ayar seçili iken plugin task'ı oluşmaz.
    • MOVE: Bu ayar seçili iken plugin taskı(generateEntityQuery) oluşur ve task çalıştırıldığında oluşan querydsl implementasyonları otomatik olarak Querydsl sınıflarının bulunduğu path'e taşınır.
    • MANUEL: Bu ayar seçili iken plugin taskı(generateEntityQuery) oluşur ve task çalıştırıldığında oluşan querydsl implementasyonları proje kökünde querydsl isimli bir klasör içerisine taşınır. Dosyaların buradan manuel olarak kopyalanması beklenir.
Konfigürasyon Tip Açıklama Varsayılan Değer
aptLibrary String Querydsl annotation processor kütüphanesi com.querydsl:querydsl-apt:5.0.0:jakarta
jakartaPersistencelibrary String Jakarta persistence kütüphanesi jakarta.persistence:jakarta.persistence-api:3.1.0
jpa boolean Jpa desteği false
jdo boolean Jdo desteği false
hibernate boolean Hibernate desteği false
morphia boolean Morphia desteği false
roo boolean Roo desteği false
springDataMongo boolean Spring data Mongodb desteği false
querydslDefault boolean Querydsl varsayılan desteği false
lombok boolean Jdo desteği false
ldap boolean Jdo desteği false
mode HvlQuerydslPluginMode Querydsl query implementasyonlarının oluşturulma modudur. MANUEL
suffix String Oluşturulan query dosyalarının isimleri için suffix bilgisidir. Query
packageSuffix String Oluşturulan query dosyalarının oluşturulacağı paket adı suffix bilgisidir. .query
aptOptions List Annotation processor çalışırken kullanılacak options bilgisidir. ['querydsl.prefix=','querydsl.suffix=' + this.suffix,'querydsl.packageSuffix=' + this.packageSuffix]


Plugin proje içinde ide üzerinden veya konsol ile kullanılabilir.

Konsol kullanımı

generateQueryModel komutu: Verilen url adresine oluşturulan kütüphaneyenin dosyalarını gönderir. Kullanım şekli: gradle generateQueryModel

Ide üzerinden kullanımı

Detaylı bilgi için linkler