spring - java.lang.String cannot be cast to rh.com.app.domain.A
黄舟
黄舟 2017-04-18 10:38:49
0
2
341
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(2)
黄舟

Poster hendaklah menulis pernyataan hql hibernate:

SELECT r.Id FROM A r WHERE r.Status = :edcbatchStatus

Selepas hql ini dilaksanakan, ia sepatutnya jenis koleksi id dikeluarkan. Mengikut mesej ralat, jenis hasil ialah List<String> Di sini, jika jenis penukaran paksa ialah List<A>, pengecualian akan dilemparkan. Terdapat penyelesaian berikut:

  • Jika anda hanya ingin mendapatkan koleksi id, ubah suai jenis penukaran paksa

List<String> agencies = (List<String>)query.getResultList();
  • Jika anda ingin mendapatkan keseluruhan objek, anda perlu mengubah suai pernyataan hql

SELECT * FROM A r WHERE r.Status = :edcbatchStatus
伊谢尔伦

Walaupun saya tidak biasa dengan Spring dan sudah lama tidak menulis Java, saya dapat melihat beberapa masalah daripada kod ini

Daripada mesej ralat, terdapat masalah semasa menukar String kepada jenis A. Terdapat hanya satu ayat dalam kod untuk penukaran:

List<A> agencies = (List<A>)query.getResultList();

Boleh jadi getResultList() sendiri memperoleh List<String>. Dari perspektif SQL, select r.Id, maka tekaan ini adalah munasabah.

Jadi sama ada tukar nilai pulangan kepada List<String>, atau dapatkan keseluruhan objek dalam SQL (ada juga beberapa pemetaan, dll., saya hanya boleh menganggap bahawa anda telah mengkonfigurasinya), seperti select r.* from ....

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!