Rumah > Soal Jawab > teks badan
@Query(value = "SELECT id as topicId,content FROM bbs_topic WHERE create_time BETWEEN ?1 AND ?2",nativeQuery = true)
List<IndexObject> getBbsTopicListByDate(Date fileupdateDate, Date topiclastupdate);
其中IndexObject 是显示层vo。
然后报错
org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.Object[]] to type [com.wayne.common.lucene.entity.IndexObject] for value '{59, 再发表一次看看那}'; nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.Integer] to type [com.wayne.common.lucene.entity.IndexObject]
度娘了一下
怀疑 jpa返回对象必须是与Entity类相关(Entity就是配置了Java类与数据库映射的Java类)
有大神知道对么?
伊谢尔伦2017-04-18 10:58:32
Ralat yang anda laporkan di sini ialah pernyataan pertanyaan mengembalikan tatasusunan Object[] Jpa cuba menukarnya kepada objek tersuai anda, tetapi gagal Anda boleh mencuba kaedah berikut:
Gunakan sintaks pilih baharu + nama kelas penuh objek,
dengan Perso ialah entiti yang diuruskan oleh EntityManager dan PersonResult ialah entiti tersuai
@Query(select new com.xx.yy.PersonResult(p.id,p.name,p.age) from Person p)
List<PersonResult> findPersonResult();
Gunakan tatasusunan Object[] untuk menerima data Setiap nilai elemen dalam Object[] ialah nilai lajur yang sepadan
@Query(select p.id,p.name,p.age from Person p)
List<Object[]> findPersonResult();
Pertama cari Orang dan tukarkannya menjadi PersonResult menggunakan kod java