Feature - RLiveObjectService.findIds() method implemented. #2779

pull/2791/head
Nikita Koksharov 5 years ago
parent 27850cf17d
commit 170ad40656

@ -561,6 +561,11 @@ public class RedissonLiveObjectService implements RLiveObjectService {
@Override
public <K> Iterable<K> findIds(Class<?> entityClass) {
return findIds(entityClass, 10);
}
@Override
public <K> Iterable<K> findIds(Class<?> entityClass, int count) {
try {
String idFieldName = getRIdFieldName(entityClass);
Class<?> idFieldType = ClassUtils.getDeclaredField(entityClass, idFieldName).getType();
@ -579,7 +584,7 @@ public class RedissonLiveObjectService implements RLiveObjectService {
}
});
return keys.getKeysByPattern(command, pattern, 10);
return keys.getKeysByPattern(command, pattern, count);
} catch (NoSuchFieldException e) {
throw new IllegalStateException(e);
}

@ -71,7 +71,9 @@ public interface RLiveObjectService {
<T> Collection<T> find(Class<T> entityClass, Condition condition);
/**
* Returns all entry ids by specified <code>entityClass</code>.
* Returns iterator for all entry ids by specified <code>entityClass</code>.
* Ids traversed with SCAN operation. Each SCAN operation loads
* up to <code>count</code> keys per request.
*
* @param entityClass - entity class
* @param <K> Key type
@ -79,6 +81,18 @@ public interface RLiveObjectService {
*/
<K> Iterable<K> findIds(Class<?> entityClass);
/**
* Returns iterator for all entry ids by specified <code>entityClass</code>.
* Ids traversed with SCAN operation. Each SCAN operation loads
* up to <code>count</code> keys per request.
*
* @param entityClass - entity class
* @param count - keys loaded per request to Redis
* @param <K> Key type
* @return collection of ids or empty collection.
*/
<K> Iterable<K> findIds(Class<?> entityClass, int count);
/**
* Returns proxied object for the detached object. Discard all the
* field values already in the detached instance.

Loading…
Cancel
Save