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:
Buildscript kullanımı
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ündequerydsl
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