Ich verwende Spring JPA-Framework mit Implementierung von Hibernate. erklärte ich eine Abfrage in A BaseRepository wie unten:BaseRepository Abfrage-Entity-Liste Return-Liste von Objekt-Array
@NoRepositoryBean
public interface BaseRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID>, QueryDslPredicateExecutor<T> {
@Query("select e.id,e.name from #{#entityName} e where e.state=1 and e.name like CONCAT(:name,'%')")
List<T> findIdAndNameByNameStartingWith(@Param("name") String name);
}
Und in einem Controller verwenden
@RequestMapping("/list/byName")
public HttpApiResponse findAllByNameLike(@RequestParam(defaultValue = "") String name) {
List<Platform> platforms = platformRepository.findIdAndNameByNameStartingWith(name);
return HttpApiResponse.doSuccess(platforms);
}
Aber wenn ich Debug-I findIdAndNameByNameStartingWith()
Rückkehr Liste wie [[ 'Hotel' gefunden, 1], [ "Reisen", 2]] statt List<Platform>
. Kann mir jemand einen Rat geben, vielen Dank!
Ändern Frage an 'select e zu ändern ...' kann funktioniert, aber ich will nicht JPA um alle Felder in dieser Tabelle abzurufen, da diese Schnittstelle am häufigsten aufgerufen wird und einige Spalten große Datenmengen speichern. – BilboDai