не было бы намного проще просто создать тестовую базу данных, восстановить всю базу данных, затем выгрузить одну таблицу в файл - затем восстановить данные в вашу «производственную» базу данных?
Если я правильно понимаю ваши вопросы, вы захотите сделать что-то вроде этого:
Геопространственные запросы к репозиторию (не требует аннотации @Query)
public interface PersonRepository extends JpaRepository<Person, String>
List<Person> findByLocationNear(String location, Integer distance);
List<Person> findByCity(String city);
}
[115 ] Однако вы также можете использовать JQL Query Methods в вашем хранилище
@Query("SELECT p FROM Person t WHERE p.name =?1 AND p.location=?2 ")
List<Person> findPersonByLocation(String fName, String location);
Также вы можете использовать HQL
Правильное решение использует экземпляр EntityManager
.
entityManager.getReference(YourClass.class, id);
Поскольку этот метод принимает только один идентификатор, вам нужно написать собственный запрос SQL
(используя HQL
или собственный SQL
), чтобы получить только идентификаторы необходимых объектов.
Имея List<T> ids
, вы можете чем
final List<YourClass> proxyValues =
ids.stream()
.map(id -> entityManager.getReference(YourClass.class, id))
.collect(Collectors.toList());
Говоря о производительности, это прекрасно, так как доступ к базе данных будет осуществляться один раз, извлекая небольшой объем данных. [1110 ]