ArÅŸiv

0, 2011 için arşiv

Yaşama sevincini hiç yere tüketmek

Salı, 09 Ağu 2011 2 yorum

Mevzuya nereden girsem kestiremedim aslında. Şöyle gireyim madem.

Hayatın hemen heryerinde hepimizin yaÅŸadığı, ÅŸahit olduÄŸu bir dolu sinir bozucu, isyana teÅŸvik ettirici hadiselerden bahsedesim geldi. Hani ortalama bir asabiyete sahip insan günde 100 birim sinirlenip, öfkeleniyorsa 50 sini bunlara harcıyorum. Herbiri hakkında bir dolu ÅŸey yazılabilir aslında. Lakin ki herbirine ayrı enerji harcamak istemiyorum. Varlıkları ile, oluÅŸları ile bir sevincin kırılmasına, bir umudun yitmesine baÅŸlı başına sebepler zaten. Ä°nsanlığa, iyiliÄŸe, dünyanın daha yaÅŸanabilir olabileceÄŸine dair inancını zedeliyor insanın. Küçük gibi gözüküyor, belki bir dolu insan “amaan canım sende” diyebiliyor. Ya da belki ben havadan nem kapıyorum, kimileri yaÄŸmurun altında dahi ıslanmazken.

Daha siz araca binmeden “nereye abi” diyen taksi ÅŸoförleri, Ä°stanbul gibi bir ÅŸehirde trafiÄŸe takılmadan şöyle 15 dakikada 40 lira hasılat yapmak iÅŸtahını gizlemeye dahi tenezzül etmeyen taksi ÅŸoförleri, yine bu durumlarda birkaç kelime söylediÄŸinizde “ekmek parası” kliÅŸesinin arkasına saklanmayı bir halt sanan, kutsal bilen taksi ÅŸoförleri, halk otobüsünü ralli aracı gibi kullanan halk otobüsü ÅŸoförleri ve bu duruma zerre tepki vermeyen yolcu topluluÄŸu, evinin çöpünü balkondan sokaÄŸa hiç aymadan, utanmadan fırlatabilen ev hanımları, gecenin bir vakti mahalle halkına bangır bangır 3.parti arabesk veya tekno müzik konseri veren bitirimden bozma gençlik, kaldırımları babasının çiftliÄŸi, evinin kileri gibi kullanıp iÅŸgaller iÅŸgali yapan, vurdumduymazlıkta sınır tanımayan esnaf, dekolte iÅŸini teÅŸhirden de öteye taşıyan özgürlüğün ne olduÄŸundan bihaber olduÄŸu halde “özgürlük” kelimesi arkasına sığınan hatun kiÅŸiler, otobüsten inen yolculara alenen yolunacak kaz muamelesi yapan ÅŸehirlerarası dinlenme tesisleri, yolda gördüğünde halini hatrını sormak nezaketini dahi göstermeden “ÅŸu bizim oÄŸlanın bilgisayara bi baksana” diyen yer ve zamana göre komÅŸulaÅŸanlar, bütün türk halk müziÄŸi enstrümanlarını kullanarak ilahi dile getirdiÄŸini sanıp insanların dini hassasiyetlerini ve duygularını acıklı bir ezginin peÅŸinde sürüklemeye çalışanlar, dinle kitapla alakası olmadığı halde islam alimiymiÅŸcesine, yüzyıllar boyu yaÅŸamış, aÅŸmış bir din, iman ve tasavvuf bilgisine, hikmetine sahip Ä°slam alimlerini hiçe sayıp her Ramazan ayında kendince makul veya mantıklı bulmadığı dini bir meseleye çözüm ürettiÄŸi sanan akla tapıcı, mantığa seccade sericiler…Ve daha neler neler…

Askere gitmeden evvel çokça duyulur etraftan. Ya da nizamiyeden içeri girdiÄŸinizden gerçeÄŸi kavrayana kadar bir tabur asker ÅŸunu söyler size; “Burda ÅŸalterleri kapatacaksın”. O kadar yerindedir bir tabirdir ki, askeri disiplin içindeyken bir dolu saçmasalak iÅŸleri, vurdumduymazlıkları, olmazları, olamazları ve olmamalıları üzerinizden teÄŸet geçtirmenin tek yoludur belki de. Åžalterleri kapatmalıyım galiba devreyi yakmadan.

Vaktiyle Cem Karaca ne güzel söylemiÅŸ ; “Beni siz delirttiniz

Hibernate dynamic-insert, dynamic-update

Cumartesi, 06 Ağu 2011 Yorum yapılmamış

Hibernate’in bir kullanılabilir özelliÄŸi daha; dynamic-insert, dynamic-update : )

dynamic-update : Güncelleme sql ifadesini(update sql) çalışma zamanında sadece değişen kolonlara göre dinamik olarak oluşturur.
dynamic-insert : Kayıt ekleme sql ifadesini(insert sql) çalışma zamanında sadece veri girilmiş kolonlara göre dinamik olarak oluşturur.

Şöyle ki;

[java]@Entity
@Table(name = "PERSONEL")
@org.hibernate.annotations.Entity(dynamicInsert=true,dynamicUpdate=true)
public class PERSONEL{



}[/java]

Sadece AD, SOYAD ve TC_KIMLIK_NO alanlarının girildiği bir kayıt işlemi sonrası

[sql]INSERT INTO PERSONEL(AD, SOYAD, PERSONEL_NO, TC_KIMLIK_NO, YAS, CINSIYET, DOGUM_TARIHI) VALUES (?, ?, ?, ?, ?, ?, ?)[/sql]

gibi bir sql ifadesi oluşması yerine

[sql]INSERT INTO PERSONEL(AD, SOYAD, TC_KIMLIK_NO) VALUES (?, ?, ?)[/sql]

gibi sadece veri girilmiş alanların dahil edildiği bir sql ifadesi oluşuyor.

Performans açısından ise şöyle bir ters orantı var. Normal koşullarda Hibernate her varlık sınıfı için üretilen ekleme , güncelleme, sorgulama sql ifadelerini belleğine alır. Böylece her ekleme, güncelleme, sorgulama işlemi için bir sql ifadesi oluşturması gerekmez. Bu performans açısından bir artı getirir. Amma lakin ki bu özellik aktif hale getirildiğinde de her ekleme, güncelleme işlemi için bir sql ifadesi oluşturma işi çıkıyor ortaya. Dolayısıyla çok fazla kolon içeren tablolar için çalıştırılacak sql ifadesini minumuma indirerek performans açısından bir artı getirebilse de diğer durumlar için karar vermek gerekiyor, bu özelliği aktif yapıp yapmamaya.

Hibernate @SqlDelete

Cumartesi, 06 Ağu 2011 Yorum yapılmamış

Hibernate’in yeni keÅŸfettiÄŸim bir özelliÄŸi varlık sınıflarına uygulanabilen @SqlDelete, @SqlUpdate, @SqlInsert bildirimleri. Bu sayede ilgili varlık sınıflarını kaydetme, güncelleme ve silme iÅŸlemleri sırasında hangi sql ifadesinin çalışacağını belirleyebiliyoruz. Bir nevi EntityManager sınıfının persist, merge ve remove metotları sonucu oluÅŸacak olan ekleme, güncelleme ve silme sql ifadelerini ezmiÅŸ oluyoruz. Özellikle silme iÅŸlemi için oldukça faydalı olabilir diye düşündüm.

Mesela; Hesap nesnelerini karşılayan Hesap sınıfları için ne zaman entityManager.remove(herhangiBirHesap) desek, bu nesneyi fiziksel olarak silmek yerine mantıksal olarak durumunu pasif yapmak isteyebiliriz. “Soft delete” olarak bilinen durum yani. Bu gibi durumlar için proje genelinde bir kod tasarrufu ve temizliÄŸi saÄŸlanabilir gibi.

Ayrıca sınıf tanımında kullanılacak @Where bildirimi ile de veritabanından Hesap tablosuna sorgu atan sql ifadelerine bir koşul konulabiliyor. Böylece de durumunu pasif yaptığımız nesneler sorgu sonuçlarında gelmiyor. Bu yazılan sql ifadeleri için hql kullanılamıyor bu arada, sql yazmak gerekiyor.

Şöyle ki;

@Entity
@Table(name = “HESAP”)
@SQLDelete(sql=”update HESAP set DURUM=0 WHERE ID=?”)
@Where(clause=”DURUM <>0″)
public class Hesap {



}