我在 spring 数据中有一个查询结果,比如:
public interface user extends extends CrudRepository<UserRegistration, Long> {
@Query(value="select ur from UserRegistration ur where "
+ " ur.location.id IN ?1 AND"
+ " ur.event.id IN ?2")
public List<UserRegistration> getUsersBylocationAndEvent(long[] locationList, long[] eventList);
}
并在服务实现中使用此方法作为
public class userServiceImpl implements userService{
@Autowired
UserRegistrationRepository userRegistrationRepository;
@Override
public List<UserRegistration> getUserRegistarationByEventAndLocation(long[] locationList, long[] eventList, int checkInFlag, Date checkInDate, int checkOutFlag, Date checkOutDate) {
List<UserRegistration> userRegistrationList = userRegistrationRepository.getUserRegByLocationIdsAndEvenIds(locationList, eventList);
return userRegistrationList;
}}
并且我在多个 web 服务中使用了这个方法“getUserRegistarationByEventAndLocation()”,所以我想在列表中第一次调用 web 服务时缓存结果,并可以在其他 web 服务中使用这个列表。
最佳答案
我们可以使用@Cacheable 注解。可能会有帮助
@Cacheable(value="UserRegistration")
List<UserRegistration> getUserRegByLocationIdsAndEvenIds(locationList, eventList);
{
}
关于java - 在 ArrayList 中缓存 Spring JPA 中的查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44281202/