Kriteria API mendefinisikan function expression untuk menjalankan fungsi SQL asli di CriteriaBuilder antarmuka sebagai berikut:
<T> Expression<T> function(String name, Class<T> type, Expression<?>... args);
dimana name adalah nama fungsi SQL, type adalah tipe pengembalian yang diharapkan dan args adalah daftar variabel argumen (jika ada).
Berikut adalah contoh cara menggunakannya dalam kueri Kriteria:
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(String.class);
Root<RadExamTimes> root = cq.from(RadExamTimes.class);
cq.select( cb.function("to_char", String.class, root.get("begin_exam"), cb.literal("MM/DD/YYYY")));
TypedQuery<String> query = entityManager.createQuery(cq);
List<String> result = query.getResultList();
dimana
RadExamTimes:entitas akar hipotetisMM/DD/YYYY:format khusus database (dalam contoh ini format tanggal Postgresql; untuk Oracle gunakan format Ora, dll)to_char:Fungsi Postgresql untuk mengubah nilai tanggal menjadi stringbegin_exam:kolom tanggal yang akan diformat
String format tidak dapat diteruskan apa adanya sehingga literal() metode yang digunakan untuk membungkusnya.
Catatan:Contoh di atas diuji pada database MySQL dengan fungsi MySQL dan format tanggal yang sesuai; tetapi contoh diubah agar sesuai dengan sintaks Postgresql.