Jhipster 5 – JDL Dili Entity Tanımlaması

Posted by dogukanhan on February 25, 2019 · 3 mins read

Bir önceki yazımda JDL dili içerisinde application tanımlamasından bahsetmiştim bu yazı boyunca jhipster üzerinde JDL dili kullanarak entitylerimizin nasıl tanımlanacağı ve nasıl kullanılacağına dair bilgiler vermeye çalışacağım. Entity tanımlaması için 4 farklı yapıdan bahsetmemiz mümkün bunların bazılarını zorunlu olarak, bazılarını ise opsiyonel olarak girmek durumundayız. Yazı boyunca bu değişken ve yapıların örnekleri ve seçeneklerine değineceğim.

JDL dili üzerinde basit bir entitiy tanımlaması yapmak için entity yapmamız yeterli bu özellikleri olmayan basit bir tablo yaratıcaktır. Tabii kide böyle bir kullanım biraz amaçsız ve gereksiz gibi durmakta, süslü parentezleri kullanarak bu entity içerisinde kullanacağımız değişken tipleri, değişken isimleri ve eğer girmek istiyorsak validation(onaylama) koşullarını girebilmekteyiz.

Jhipster tarafından otomatik olarak Primary Key sütünü üretilmektedir. Bu yüzden ekstra bir tanımlamaya gerek yoktur fakat, birden fazla sütünü primary key olarak kullanmak istiyen yazılımcılar, generate edilen kodu editleyip değiştirmek zorundadırlar.

Aşağıda https://www.jhipster.tech/jdl/ adresinde verilmiş olan örneği inceliyelim C isimli field(alan)ları olmayan bir entity ve sırasıyla name, adress ve age bölümleri girilmiş. Bunların hemen yanında ise verinin tipleri ve validation koşulları bulunmakta. Her veri tipi için farklı validation koşulları kullanılabilmektedir.

entity C
entity D {
  name String required
  address String required maxlength(100)
  age Integer required min(18)
}

Entity tanımlaması yapıldıktan sonra projemize import edersek, jhipster bizim için otomatik olarak, entity yapılarımızı oluşturacaktır. Aşağıda https://www.jhipster.tech/jdl/#annexes adresinde bulunan bir tabloyu vereceğim bu tablo üzerinden kullanabileceğimiz veri tiplerini ve bu veri tipleri için geçerli olan kullanabileceğimiz validation koşullarını görebileceksiniz.

Tabloda yer alan bilgiler cassandra ve Jhipster tarafından diğer desteklenen veri tabanı türleri olarak ayrılmış. Validation kısmında yer alan bilgilerin kullanımı zorunlu değildir ve istenilen hepsi kullanılabilir.

JDL Veri Türleri Ve Sabitler

Common databases Cassandra Validations
String String required, minlength, maxlength, pattern, unique
Integer Integer required, min, max, unique
Long Long required, min, max, unique
BigDecimal BigDecimal required, min, max, unique
Float Float required, min, max, unique
Double Double required, min, max, unique
Enum Yok required, unique
Boolean Boolean required, unique
LocalDate Yok required, unique
Yok Date required, unique
ZonedDateTime Yok required, unique
Yok UUID required, unique
Blob Yok required, minbytes, maxbytes, unique
AnyBlob Yok required, minbytes, maxbytes, unique
ImageBlob Yok required, minbytes, maxbytes, unique
TextBlob Yok required, unique
Instant Instant required, unique