Wie zu verwenden findAll-Methode in den Frühling starten mit cruderepository
Meine UserRepository
:
public interface UserRepository extends CrudRepository<User, Integer> {
List<User> findAll(List<Integer> ids);
}
Fehler:
Verursacht durch:
org.springframework.Daten.mapping.PropertyReferenceException: Nein
Eigenschaft findAll gefunden für Typ User
Kann jemand mir sagen, wie man Liste der User
Objekte basierend auf der Liste der Id ' s.
Dies funktioniert
@Query(" select new User(id,x,y,z) from User b where b.id in ?1 ")
List<User> findById(List<Integer> id);
- Ist das nicht eine funktionierende Lösung?
@Query(" select b from User b where b.id in ?1 ")
scheint korrekt zu sein - ja, das ist eine funktionierende Lösung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstens, möchte ich benennen Sie das repository zu
UserRepository
, da wir nach 2User
Klassen ist verwirrend.findAll()
per definitionem gemeint ist, um alle Modelle ohne Kriterien. Sollten Sie fügen Sie eine Methode namensfindByIdIn(Collection<Integer> ids)
Verwenden
List<User> findAll(Iterable<Integer> ids)
oderList<User> findByIdIn(List<Integer> ids)