Tidak menerima umpan balik dalam bentuk jawaban atau bahkan komentar, saya bersiap-siap untuk menyerah, ketika saya menemukan posting blog yang luar biasa ini:
Cara mengikat jenis parameter Hibernate khusus ke kueri JPA
Posting memberikan dua opsi untuk mengontrol jenis yang JPA melewati driver ke Postgres (atau apa pun database yang mendasarinya sebenarnya). Saya menggunakan pendekatan menggunakan TypedParameterValue
. Berikut adalah tampilan kode saya melanjutkan dengan contoh yang diberikan di atas:
Query query = entityManager.createNativeQuery(sqlString, MyEntity.class);
query.setParameter("param1", new TypedParameterValue(StringType.INSTANCE, null));
query.setParameter("param2", new TypedParameterValue(DoubleType.INSTANCE, null));
List<MyEntity> = query.getResultList();
Tentu saja, melewatkan null
. adalah hal yang sepele untuk setiap parameter dalam kueri, tetapi saya melakukan ini terutama untuk menunjukkan sintaks untuk teks dan kolom ganda. Dalam praktiknya, kami mengharapkan setidaknya beberapa parameter bukan null
, tetapi sintaks di atas menangani semua nilai, null atau lainnya.