Общее количество строк для разбивки на страницы с использованием JPA Criteria API

Как утверждали другие, тип String в .NET неизменен, а ссылка передается по значению.

В исходном коде, как только эта строка выполнит:

test = "after passing";

, тогда test больше не будет ссылаться на на исходный объект. Мы создали новый объект String и назначили test для ссылки на этот объект в управляемой куче.

Я чувствую, что многие люди сбиваются с толку здесь, потому что нет видимого формального конструктора, чтобы напомнить им. В этом случае это происходит за кулисами, так как тип String поддерживает язык в том, как он построен.

Следовательно, поэтому изменение на test не видно за пределами области TestI(string) метод - мы передали ссылку по значению, и теперь это значение изменилось! Но если ссылка String была передана по ссылке, то при изменении ссылки мы увидим ее вне области действия метода TestI(string).

В этом случае необходимо либо ключевое слово ref, либо выдать. Я чувствую, что ключевое слово out может быть немного лучше подходит для этой конкретной ситуации.

class Program
{
    static void Main(string[] args)
    {
        string test = "before passing";
        Console.WriteLine(test);
        TestI(out test);
        Console.WriteLine(test);
        Console.ReadLine();
    }

    public static void TestI(out string test)
    {
        test = "after passing";
    }
}

23
задан mahan 20 June 2019 в 13:47
поделиться

1 ответ

Почему бы тебе просто не использовать счет?

CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Long> cQuery = builder.createQuery(Long.class);
Root<Brand> from = cQuery.from(Brand.class);
CriteriaQuery<Long> select = cQuery.select(builder.count(from));
.
.
//Created many predicates and added to **Predicate[] pArray**
.
.
select.where(pArray);
// Added orderBy clause
TypedQuery<Long> typedQuery = em.createQuery(select);
typedQuery.setFirstResult(startIndex);
//typedQuery.setMaxResults(pageSize);
// here is the size of your query 
Long result = typedQuery.getSingleResult();
14
ответ дан flash 20 June 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: