Jhipster 5 – JDL Dili Entity Tanımlaması

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 <entity Ismi> 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 databasesCassandraValidations
StringStringrequired, minlength, maxlength, pattern, unique
IntegerIntegerrequired, min, max, unique
LongLongrequired, min, max, unique
BigDecimalBigDecimalrequired, min, max, unique
FloatFloatrequired, min, max, unique
DoubleDoublerequired, min, max, unique
Enum Yokrequired, unique
BooleanBooleanrequired, unique
LocalDate Yokrequired, unique
YokDaterequired, unique
ZonedDateTimeYokrequired, unique
YokUUIDrequired, unique
Blob Yokrequired, minbytes, maxbytes, unique
AnyBlob Yokrequired, minbytes, maxbytes, unique
ImageBlob Yokrequired, minbytes, maxbytes, unique
TextBlob Yokrequired, unique
InstantInstantrequired, unique

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *