Gallery

Konversi Syntaks MySQL -> Hibernate Criteria Query

Berikut ini merupakan penjabaran mengenai criteria query berdasarkan hasil analisa ketika mengerjakan program skripsi saya yang menggunakan framework MVC berbasis Java,,

Misalkan, terdapat tabel karyawan. Jika kita ingin menampilkan semua data yang ada pada tabel karyawan. Maka, kita menggunakan syntaks Sql berikut :

Select * from Karyawan;

Sedangkan, jika menggunakan syntaks Criteria Query, seperti berikut :

getSession().createCriteria(Karyawan.class).list();

Berikut ini, saya mendapatkan beberapa sampel syntaks SQL jika menggunakan Criteria Query  :

*Expression.eq : Memperlihatkan ‘where’ kondisi ‘sama dengan’

*Expression.ne : Memperlihatkan ‘where’ kondisi ‘tidak sama dengan’

*Expression.lt : Memperlihatkan ‘where’ kondisi ‘kurang dari’

*Expression.gt : Memperlihatkan ‘where’ kondisi ‘lebih dari’

*Expression.le : Memperlihatkan ‘where’ kondisi ‘kurang dari sama dengan’

*Expression.ge : Memperlihatkan ‘where’ kondisi ‘lebih dari sama dengan’

No
My SQL
Hibernate Criteria Query
1
select * from Karyawan where id = 1;
getSession().createCriteria(Karyawan.class) .add(Expression.eq(“id”, Long.valueOf(1)))

.list();

2
select * from Karyawan where id != 1;
getSession().createCriteria(Karyawan.class) .add(Expression.ne(“id”, Long.valueOf(1)))

.list();

3
select * from Karyawan where id <> 1;
getSession().createCriteria(Karyawan.class) .add(Expression.ne(“id”, Long.valueOf(1)))

.list();

4
select * from Karyawan where nama = “sesuatu”;
getSession().createCriteria(Karyawan.class)

.add(Expression.eq(“nama”, “sesuatu”))

.list();

5
select * from Karyawan where tgl_masuk = “1900-01-01”;
getSession().createCriteria(Karyawan.class)

.add(Expression.eq(“tglMasuk”, new java

.util.Date(java.sql.Date

.valueOf(“1900-01-01″))))

.list();

6
select * from Karyawan where upah = 10000;
getSession().createCriteria(Karyawan.class)

.add(Expression.eq(“upah”, BigDecimal

.valueOf(10000)))

.list();

7
select * from Karyawan where id > 10;
getSession().createCriteria(Karyawan.class)

.add(Expression.gt(“id”, Long.valueOf(10)))

.list();

8
select * from Karyawan where id < 10 and id > 30;
getSession().createCriteria(Karyawan.class)

.add(Expression.lt(“id”, Long.valueOf(10)))

.add(Expression.gt(“id”, Long.valueOf(30)))

.list();

9
select * from Karyawan where id < 10 or id > 30;
getSession().createCriteria(Karyawan.class)

.add(Expression.or(Expression.lt(“id”, Long.valueOf(10)), Expression.gt(“id”, Long.valueOf(30))))

.list();

10
select * from Karyawan where id <= 10;
getSession().createCriteria(Karyawan.class)

.add(Expression.le(“id”, Long.valueOf(10)))

.list();

11
select * from Karyawan where id >= 10;
getSession().createCriteria(Karyawan.class)

.add(Expression.ge(“id”, Long.valueOf(10)))

.list();

12
select * from Karyawan where nama like ‘sesu%’;
getSession().createCriteria(Karyawan.class)

.add(Expression.like(“nama”, “sesu”, MatchMode.END))

.list();

13
select * from Karyawan where nama like ‘%sua%’;
getSession().createCriteria(Karyawan.class)

.add(Expression.like(“nama”, “sua”, MatchMode.ANYWHERE))

.list();

14
select * from Karyawan where nama like ‘%atu’;
getSession().createCriteria(Karyawan.class)

.add(Expression.like(“nama”, “atu”, MatchMode.START))

.list();

15
select * from Karyawan where nama like ‘sesuatu’;
getSession().createCriteria(Karyawan.class)

.add(Expression.like(“nama”, “sesuatu”, MatchMode.EXACT))

.list();

16
select * from Karyawan where id between 0 and 100;
getSession().createCriteria(Karyawan.class)

.add(Expression.between(“id”, Long.valueOf(0), Long.valueOf(100)))

.list();

17
select * from Karyawan where nama = ‘’;
getSession().createCriteria(Karyawan.class)

.add(Expression.isEmpty(“nama”))

.list();

18
select * from Karyawan where nama <> ‘’;
getSession().createCriteria(Karyawan.class)

.add(Expression.isNotEmpty(“nama”))

.list();

19
select * from Karyawan where nama is null;
getSession().createCriteria(Karyawan.class)

.add(Expression.isNull(“nama”))

.list();

20
select * from Karyawan where nama is not null;
getSession().createCriteria(Karyawan.class)

.add(Expression.isNotNull(“nama”))

.list();

21
select * from Karyawan where id in (1,3,5,7);
List<Long> idlist = new ArrayList<Long>();

idlist.add(1);

idlist.add(3);

idlist.add(5);

idlist.add(7);

getSession().createCriteria(Karyawan.class)

.add(Expression.in(“id”, idlist))

.list();

22
select * from Karyawan where id not in (1,3,5,7);
List<Long> idlist = new ArrayList<Long>();

idlist.add(1);

idlist.add(3);

idlist.add(5);

idlist.add(7);

getSession().createCriteria(Karyawan.class)

.add(Expression.not(Expression.in(“id”, idlist)))

.list();

23
select * from Karyawan where id > 1 order by id ASC;
getSession().createCriteria(Karyawan.class)

.addOrder(Order.asc(“id”))

.add(Expression.ge(“id”, Long.valueOf(1)))

.list();

34
select * from Karyawan where id > 1 order by id DESC;
getSession().createCriteria(Karyawan.class)

.addOrder(Order.desc(“id”))

.add(Expression.ge(“id”, Long.valueOf(1)))

.list();

Untuk mempelajari lebih lanjut silahkan lihat-lihat pada hibernate API.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s