Lebih
Bagaimana cara membuat kueri sisipan di JPA
Saya mencoba memasukkan data ke dalam tabel yang memiliki kolom (NAMA, NILAI) dengan
Query query = em.createQuery("INSERT INTO TestDataEntity (NAME, VALUE) VALUES (:name, :value)");
query.setParameter("name", name);
query.setParameter("value", value);
query.executeUpdate();
dan mendapatkan pengecualian berikut:
ERROR org.hibernate.hql.internal.ast.ErrorCounter - line 1:42: unexpected token: VALUES
Juga, saya juga tidak bisa menyisipkan record menggunakan kueri asli:
Query query = em.createNativeQuery("INSERT INTO TEST_DATA (NAME, VALUE) VALUES (:name, :value);");
query.setParameter("name", name);
query.setParameter("value", value);
query.executeUpdate();
Pengecualian lain dilemparkan:
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute statement
Pertanyaannya adalah:
- Apa yang salah dengan string kueri?
Terima kasih banyak.
7
3
Saya memecahkan masalahnya.
Menurut ini,
Tapi saya bisa menyelesaikan masalah dengan query asli: Saya telah keliru meletakkan ; yang berlebihan di akhir query, sehingga masalah ini diselesaikan dengan menghapusnya.
Saya menemukan dua contoh di mana penulis menggunakan sisipan dalam kueri asli (pertama dan kedua). Kemudian, kueri Anda bisa jadi:
Coba ini.
Saya bisa melakukan ini menggunakan cara di bawah ini - Saya hanya memiliki nama tabel Bike dengan 2 bidang id dan nama. Saya menggunakan cara di bawah ini untuk memasukkannya ke dalam database.