Archive for the ‘Hibernate’ Category

HQL Query Examples

Mart 29, 2013

Select Query
Query query = session.createQuery(“from Stock where stockCode = :code “);
query.setParameter(“code”, “7277”);
List list = query.list();

Query query = session.createQuery(“from Stock where stockCode = ‘7277’ “);
List list = query.list();

Delete Query
Query query = session.createQuery(“delete Stock where stockCode = :stockCode”);
query.setParameter(“stockCode”, “7277”);
int result = query.executeUpdate();

http://www.mkyong.com/hibernate/hibernate-query-examples-hql/

Reklamlar

Criteria

Mart 23, 2013

//Session session= HibernateFactory.openSession();
Session session= HibernateFactory.getSession(sessionId);

Criteria criteria = session.createCriteria(HizmetSgkNeviBean.class);
criteria.add(
Restrictions.eq(HizmetSgkNeviBean.KOD, Integer.parseInt(veriler[3])
));
HizmetSgkNeviBean hizmetSgkBean = (HizmetSgkNeviBean) criteria.uniqueResult(); //Tek kayıt alır.

Hibernate flush

Mart 18, 2013

Çalkalama (flushing)

Zaman zaman Session nesnesi, hafızadaki nesnelerle veritabanını senkronize edecek SQL komutları verir. Bu işleme çalkalama (flush) denir.
Bu işlem belirli zamanlarda olur:

– find() ve iterate() çağrıldığında
– Transaction.commit() çağrıldığında
– Session.flush() ile

SQL komutları şu sırayla gerçekleşir:

– bütün varlık kayıtları (insert), Session.save() ile belirtilen sırada.
– varlık güncellemeleri
– koleksiyonların silinmeleri
– koleksiyon eleman silinmesi, güncellemesi ve kaydı (insert)
– koleksiyon kaydı
– varlık silinmesi, Session.delete() sırasında.

Bir tek, native id oluşturma özelliğine sahip nesneler, Session.save() denildiği vakit, kaydedilir.

session.flush();// nesne veritabanına yollanıyor
session.clear();// baska nesneyi oturuma almak icin onceki siliniyor

Hibernate Annotations

Mart 11, 2013

@Entity

@Table(name = “GNL_CARI_KART”) (JPA)
@Table(appliesTo=”PER_HITAP_HIZMET_NUFUS”) (Hiberhate) :tabloyu bu isim ile oluşturmamızı sağlarlar.
@Check(constraints=”CINSIYET in (‘E’,’K’)” ) : cinsiyeti alanının E ve K dışında başka bir katakter ile doldurulmamasını sağlayan constraints oluşturulmasını sağlar.

@Column(name = “DOGUM_TARIHI”, nullable = false)
@Temporal(TemporalType.DATE) : Tarih formatını belirtir.

@Column(name=”ILK_SOYAD”,columnDefinition=”Memuriyetten Önceki İlk Soyadı”) : comment ekleme şekli

@Table(name = “PER_HITAP_HIZMET_SEBEP”, uniqueConstraints = {
@UniqueConstraint(columnNames = “AKTIF_PASIF”),
@UniqueConstraint(columnNames = “KOD”)}) :İki ayrı constraint oluşturur

@Entity
@Table(name = “PER_HITAP_HIZMET_SGK_NEVI”, uniqueConstraints = {
@UniqueConstraint(columnNames = {“KOD”, “AKTIF_MI”}) }) : kod ve aktifmi kolonlarının ikisini birden constrainte dahil eder.

ORM (Object Relational Mapping)

Mart 6, 2013

Nesneler ile veri tabanındaki tabloların eşleştirilmesi anlamına gelmektedir. Bazı programlama dillerinin sunduğu ORM araçlarından bazıları aşağıdadır;
– Java
* Hibernate
* EclipseLink
* TopLink
* JPA(Java Persistance API)

– .Net Dilleri(C#,VB.Net,J#)
* NHibernate
* ADO.Net Entities

– PHP
* Doctrine
* Propel