ADF te Sequence Kullanımı
HR scheması altında bulunan “DEPARTMENTS” tablosunun primary key’i olan “DEPARTMENT_ID” alanı “DEPARTMENTS_SEQ” sequence’inden alınır. ADF ile bu tabloya bir kayıt eklerken sequence ten yeni bir numara alarak tabloya kayıt eklemek nasıl yapılır bunu anlatmaya çalışacağım.
Db de varolan sequenceler;
HR scheması altında bulunan departments tablosunu kullanarak entity object, view object ve application module bileşenlerini oluşturalım(bunları oluşturmayı bu yazıda anlatmayacağım);
DepartmentsEO entity nesnesi için aşağıdaki adımları izleyerek DepartmentsEOImpl java class’ını oluşturuyoruz. DepartmentsEO üzerine çift tıklayıp entity nesnesinin özelliklerini görebileceğimiz pencereyi açıyoruz ve aşağıda ekranda numaralandırdığım adımları izliyoruz; Oluşan java class’ı;
Bu class’ı oluştururken setter ve getter metodlarla birlikte create metodununda oluşturulmasını istemiştik(yukarıda 3. ve 4. Adım arasında). Şimdi bu metod içerisinde kullanmak istediğimiz sequence’imizi çağıracağız. Yukardaki class ismini sarı ile işaretlediğim link’e tıklayarak class’ın içerisine gidip create metodumuzu buluyoruz; Create metodu;
Bu metodu aşağıdaki gibi değiştiriyoruz;
Artık departmentsEO kullanılarak yeni bir kayıt oluşturulmak istendiğinde department_id alanı otomatik olarak “DEPARTMENTS_SEQ” sequence’inden alınacak.Test etmek için application modul’ü çalıştırıp bakalım;
Application modul’e sağ tıklayıp run diyerek test ekranımızı açalım;
1 nolu adımda departmentsVO1 üzerine çift tıklayıp sağ taraftaki ekrana ulaşıyoruz, yeşil + butonuna basarak yeni bir departman tanımlamak istediğimizde otomatik olarak department_id alanının sequenceden alındığını görüyoruz.